Accéder au contenu principal Passer au contenu complémentaire

Exemples d'utilisation d'une variable dans une expression

Dans Qlik Sense, une variable est une entité nommée qui contient une valeur de données. Lorsqu'une variable est utilisée dans une expression, elle est remplacée par sa valeur ou sa définition.

 

La variable x contient la chaîne de texte Sum(Sales).

Dans un graphique, vous définissez l'expression $(x)/12. L'effet est exactement le même qu'avec l'expression de graphique Sum(Sales)/12.

Cependant, si vous modifiez la valeur de la variable x pour, par exemple, Sum(Budget), les données du graphique sont immédiatement recalculées avec l'expression interprétée comme Sum(Budget)/12.

Note ConseilLors de l'utilisation de variables dans des expressions, vous pouvez modifier en une opération l'expression utilisée dans une série de graphiques en éditant simplement la variable.

Interprétation des noms

Il est déconseillé d'utiliser le même nom pour un champ et une fonction dans Qlik Sense Cependant, si vous poursuivez, vous devez savoir comment les utiliser dans une expression.

 

La chaîne XXX représente un champ, une variable, une fonction ou une mesure. XXX sera interprété comme l'un de ces éléments selon la façon dont vous créez l'expression.

Exemples d'interprétation des noms
Expression XXX interprété comme :
XXX mesure, variable ou champ
$(XXX) variable
Count(XXX) champ ou variable
XXX() fonction

Lors du nommage d'une entité, évitez d'attribuer le même nom à plus d'un champ, d'une variable ou d'une mesure. Il existe un ordre de précédence strict pour la résolution des conflits entre les entités portant des noms identiques. Cet ordre est reflété dans tous les objets ou contextes dans lesquels ces entités sont utilisées. Cet ordre des priorités est le suivant :

  • À l'intérieur d'une agrégation, un champ est prioritaire sur une variable. Les étiquettes de mesure n'ont pas d'importance dans les agrégations et ne sont pas priorisées.

  • En dehors d'une agrégation, une étiquette de mesure est prioritaire sur une variable, qui, à son tour, est prioritaire sur un nom de champ.

  • De plus, en dehors d'une agrégation, une mesure peut être réutilisée en référençant son étiquette, sauf si l'étiquette est en fait une étiquette calculée. Dans ce cas, la mesure perd en signification afin de réduire le risque d'auto-référence et le nom sera toujours interprété d'abord comme une étiquette de mesure, puis comme un nom de champ, et enfin comme un nom de variable.

Calcul des variables

Qlik Sense offre différentes façons d'utiliser des variables dont les valeurs sont calculées. Le résultat dépend de la façon dont elles sont définies et appelées dans une expression.

Cet exemple nécessite le chargement des données suivantes dans l'éditeur de chargement de données :

LOAD * INLINE [ Dim, Sales A, 150 A, 200 B, 240 B, 230 C, 410 C, 330 ];

 

Définissons deux variables depuis la boîte de dialogue Variables :

  • Nom vSales Définition'Sum(Sales)'
  • Nom vSales2 Définition'=Sum(Sales)'

Dans la seconde variable, un signe égal est ajouté avant l'expression. Ceci entraîne le calcul de la variable avant qu'elle ne soit étendue et l'expression évaluée.

Si vous utilisez la variable vSales telle quelle, par exemple dans une mesure, le résultat correspond à la chaîne Sum(Sales), c'est-à-dire qu'aucun calcul n'est réalisé.

Si vous ajoutez une expansion $ et appelez $(vSales) dans l'expression, la variable est étendue et la somme des ventes (Sales) est affichée.

Enfin, si vous appelez $(vSales2), la variable est calculée avant d'être étendue. En d'autres termes, le résultat affiché correspond à la somme totale des ventes (Sales). Le graphique suivant illustrant les résultats montre la différence entre l'utilisation de =$(vSales) et de =$(vSales2) comme expressions de mesure :

Résultats
Dim $(vSales) $(vSales2)
A 350 1560
B 470 1560
C 740 1560

Comme vous pouvez le constater, $(vSales) aboutit à la somme partielle d'une valeur de dimension tandis que $(vSales2) donne la somme totale.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !