Accéder au contenu principal

Références à des champs, des mesures et des variables

SUR CETTE PAGE

Références à des champs, des mesures et des variables

Une expression peut contenir des références à des champs, des variables et des mesures.

Dans la plupart des cas, les expressions sont des agrégations, c'est-à-dire des calculs qui peuvent potentiellement couvrir différents enregistrements. Cela signifie que toutes les références de champ d'une expression doivent être enveloppées dans une fonction d'agrégation. Si aucune fonction d'agrégation n'est utilisée, la fonction Only() est utilisée.

Lorsque le nom d'une mesure est utilisé à l'intérieur d'une expression, il est interprété comme un alias de la mesure. Cela vous permet de réutiliser une entité déjà définie. Vous pouvez réutiliser de cette manière uniquement des mesures principales et des mesures dans le même graphique.

Vous pouvez définir une mesure de manière récursive. En d'autres termes, la mesure peut contenir une référence à elle-même. Cependant, vous devriez le faire uniquement dans des graphiques contenant quelques lignes. Si le graphique contient de nombreuses lignes, cela entraîne une dégradation des performances. S'il contient des centaines de lignes, la définition récursive finit par s'arrêter complètement.

Il existe deux manières différentes d'utiliser une variable dans une référence directe ou dans une expansion $. Si vous utilisez une référence directe, la valeur de la variable sera utilisée dans le calcul. Si vous utilisez une expansion $, l'expansion $ toute entière sera remplacée par la valeur de la variable avant l'analyse de l'expression. C'est pourquoi les deux méthodes différentes peuvent renvoyer des résultats différents.

Interprétation des noms

Un nom à l'intérieur d'une expression peut être une référence à un champ, une variable, une fonction ou une mesure. Suivant la situation, le nom est interprété différemment.

Example:  

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

Vous ne devriez pas utiliser le même nom pour un champ et pour une variable (ou une mesure). Cependant, si vous le faites et qu'il existe une ambiguïté, l'ordre de priorité suivant est utilisé :

  • Si le nom se trouve à l'intérieur d'une fonction d'agrégation, un champ est prioritaire sur une variable.

  • Si le nom se trouve à l'extérieur d'une fonction d'agrégation, une mesure est prioritaire sur une variable, qui, à son tour, est prioritaire sur un champ.

Règles applicables aux expressions

Les règles suivantes s'appliquent aux expressions de graphique :

  • Si une référence de champ n'est pas enveloppée dans une fonction d'agrégation, la fonction Only() est utilisée par le moteur.

  • Toutes les expressions renvoient un nombre et/ou une chaîne, selon le cas.

  • Les opérateurs et les fonctions logiques renvoient 0 pour False et -1 pour True. Les conversions de nombres en chaînes et de chaînes en nombres sont implicites.

  • Les opérateurs et les fonctions logiques interprètent 0 comme False et toutes les autres valeurs comme True.

  • Les expressions impossibles à évaluer correctement, par exemple du fait de fonctions ou de paramètres incorrects, renvoient la chaîne NULL.