2 votes

Comment fonctionne la fonction AutoCalendar de QlikSense?

Démanteler le code auto-généré dans l'une de mes applications Sense, j'ai découvert la fonction de calendrier automatique qui est super et que j'ai modifiée comme ci-dessous mais je n'ai aucune idée de son fonctionnement! Est-ce que quelqu'un peut fournir de la documentation?

[autoCalendar]: 
  DECLARE FIELD DEFINITION Tagged ('$date')
FIELDS
  Dual(Year($1), YearStart($1)) AS [Année] Tagged ('$axe', '$année')
  ,Dual('T'&Num(Ceil(Num(Month($1))/3)),Num(Ceil(NUM(Month($1))/3),00)) AS [Trimestre] Tagged ('$trimestre')
  ,Dual(Year($1)&'-T'&Num(Ceil(Num(Month($1))/3)),QuarterStart($1)) AS [AnnéeTrimestre] Tagged ('$axe', '$annéetrimestre')
  ,Month($1) AS [Mois] Tagged ('$mois')
  ,Dual(Year($1)&'-'&Month($1), monthstart($1)) AS [AnnéeMois] Tagged ('$axe', '$année-mois')
  ,Dual('S'&Num(Week($1),00), Num(Week($1),00)) AS [Semaine] Tagged ('$numerosemaine')
  ,Date(Floor($1)) AS [Date] Tagged ('$date')
  /*Éléments de date ajoutés par l'utilisateur*/
  ,Dual(Year($1), if(Year($1)=Year(today()),YearStart($1),null)) AS [CetteAnnée] Tagged ('$axe', '$cetteannée')
  ,Dual(Year($1)&'-T'&Num(Ceil(Num(Month($1))/3)), if(Year($1)=Year(today()),QuarterStart($1),null)) AS [CetteAnnéeTrimestre] Tagged ('$axe', '$cetteannéetrimestre')
  ,Dual(Year($1)&'-'&Month($1), if(Year($1)=Year(today()), monthstart($1),null)) AS [CetteAnnéeMois] Tagged ('$axe', '$cetteannée-mois')
  ,Dual(Year($1), if(Year($1)=(Year(today())-1),YearStart($1),null)) AS [AnnéePrécédente] Tagged ('$axe', '$annéeprécédente')
  ,Dual(Year($1)&'-T'&Num(Ceil(Num(Month($1))/3)), if(Year($1)=(Year(today())-1),QuarterStart($1),null)) AS [TrimestreAnnéePrécédente] Tagged ('$axe', '$trimestreannéeprécédente')
  ,Dual(Year($1)&'-'&Month($1), if(Year($1)=(Year(today())-1), monthstart($1),null)) AS [MoisAnnéePrécédente] Tagged ('$axe', '$moisannéeprécédente')
 ;

DERIVE FIELDS FROM FIELDS [StartDate] USING [autoCalendar] ;

Cela itère-t-il à travers chaque entrée ou chaque jour du calendrier? Pour moi, cela semble être le premier cas - peut-il être utilisé pour des fonctions non-datées?

5voto

csabigabi Points 61

Veuillez consulter l'aide de Qlik concernant les Champs dérivés

http://help.qlik.com/fr-FR/sense/2.2/Subsystems/Hub/Content/Scripting/derived-fields.htm

Les détails de la page sont les suivants

Champs dérivés

Si vous avez un groupe de champs qui sont liés, ou si les champs contiennent des informations qui peuvent être divisées en parties plus petites et pertinentes lors de la création de dimensions ou de mesures, vous pouvez créer des définitions de champs qui peuvent être utilisées pour générer des champs dérivés. Un exemple est un champ date, à partir duquel vous pouvez déduire plusieurs attributs, tels que année, mois, numéro de semaine, ou jour de la semaine. Tous ces attributs peuvent être calculés dans une expression de dimension en utilisant les fonctions de date de Qlik Sense, mais une alternative est de créer une définition de calendrier qui est commune à tous les champs de type date. Les définitions de champs sont stockées dans le script de chargement de données.

Déclarer les définitions de champs de calendrier

Vous utilisez l'instruction Déclarer pour créer une définition des champs dérivés. C'est là que vous définissez les différents attributs du champ, dans ce cas des attributs liés à la date. Chaque champ est décrit comme As nom_du_champ tagué tag. Définir un ou plusieurs tags est facultatif, mais cela peut affecter l'ordre de tri du champ dérivé. Utilisez $1 pour référencer le champ de données à partir duquel les champs dérivés doivent être générés.

Calendrier:
DECLARE FIELD DEFINITION TAGGED '$date'
   Parameters
      first_month_of_year = 1
   Fields
      Year($1) As Annee Tagged ('$numeric'),
      Month($1) as Mois Tagged ('$numeric'),
      Date($1) as Date Tagged ('$date'),
      Week($1) as Semaine Tagged ('$numeric'),
      Weekday($1) as Jour_de_la_semaine Tagged ('$numeric'),
      DayNumberOfYear($1, first_month_of_year) as JourNumeroAnnee Tagged ('$numeric')
;

Voir: Déclarer

Mapper les champs de données au calendrier avec Dériver

La prochaine étape consiste à utiliser l'instruction Derive pour mapper les champs de données existants au calendrier. Cela va créer les champs dérivés. Vous pouvez le faire de trois manières alternatives dans le script de chargement de données:

Mapper des champs spécifiques par leur nom de champ.

DERIVER DES CHAMPS DES CHAMPS OrderDate,ShippingDate EN UTILISANT Calendrier;

Mapper tous les champs avec un ou plusieurs tags de champ spécifiques.

DERIVER DES CHAMPS DES TAGS EXPLICITES '$date' EN UTILISANT Calendrier;

Mapper tous les champs qui sont tagués avec un des tags de la définition de champ (ici $date dans l'exemple ci-dessus).

DERIVER DES CHAMPS DE L'ÉTIQUETTE IMPLICITE EN UTILISANT Calendrier;

Dans ce cas, vous pourriez utiliser l'un des trois exemples ici.

Voir: Dériver

Utilisez les champs de date dérivés dans une visualisation

Qlik Sense est préparé pour reconnaître les champs de date dérivés si vous avez créé une définition de calendrier et mappé les champs comme dans l'exemple ci-dessus. Ils sont disponibles dans la section Champs de Date & Heure du panneau d'actifs des champs. Vous trouverez également tous les champs dérivés dans l'éditeur d'expression et lorsque vous créez ou modifiez des dimensions.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X