VAR
Stocke le résultat d’une expression sous la forme d’une variable nommée, qui peut ensuite être passée en tant qu’argument à d’autres expressions de mesure. Une fois que les valeurs résultantes ont été calculées pour une expression de variable, ces valeurs ne changent pas, même si la variable est référencée dans une autre expression.
Syntaxe
VAR <name> = <expression>
Paramètres
Terme | Définition |
---|---|
name |
Nom de la variable (identificateur). Les délimiteurs ne sont pas pris en charge. Par exemple, « varName » ou [varName] entraîne une erreur. Jeu de caractères pris en charge : a-z, A-Z, 0-9. 0-9 ne sont pas valides comme premier caractère. __ (trait de soulignement double) est autorisé en tant que préfixe au nom de l’identificateur. Aucun autre caractère spécial n’est pris en charge. Mots clés réservés non autorisés. Les noms des tables existantes ne sont pas autorisés. Les espaces vides ne sont pas autorisés. |
expression |
Expression DAX qui retourne une valeur scalaire ou table. |
Valeur de retour
Variable nommée contenant le résultat de l’argument d’expression.
Remarques
Une expression passée en tant qu’argument à VAR peut contenir une autre déclaration de VAR.
Lors du référencement d’une variable :
- Les mesures ne peuvent pas faire référence à des variables définies en dehors de l’expression de mesure, mais peuvent faire référence à des variables d’étendue fonctionnelle définies dans l’expression.
- Les variables peuvent faire référence à des mesures.
- Les variables peuvent faire référence à des variables définies précédemment.
- Les colonnes des variables de table ne peuvent pas être référencées via la syntaxe TableName[ColumnName].
Pour connaître les meilleures pratiques lors de l’utilisation de VAR, consultez Utiliser des variables pour améliorer vos formules DAX.
Pour en savoir plus sur l’utilisation de VAR dans une requête DAX, consultez DAX requêtes.
Exemple
Pour calculer un pourcentage de croissance annuelle sans utiliser de variable, vous pouvez créer trois mesures distinctes. Cette première mesure calcule la somme du montant des ventes :
Sum of SalesAmount = SUM(SalesTable[SalesAmount])
Une deuxième mesure calcule le montant des ventes de l’année précédente :
SalesAmount PreviousYear =
CALCULATE([Sum of SalesAmount],
SAMEPERIODLASTYEAR(Calendar[Date])
)
Vous pouvez ensuite créer une troisième mesure qui combine les deux autres mesures pour calculer un pourcentage de croissance. Notez que la mesure Sum of SalesAmount est utilisée à deux endroits ; d’abord pour déterminer s’il existe une vente, puis de nouveau pour calculer un pourcentage.
Sum of SalesAmount YoY%: =
IF([Sum of SalesAmount] ,
DIVIDE(([Sum of SalesAmount] – [SalesAmount PreviousYear]), [Sum of SalesAmount])
)
À l’aide d’une variable, vous pouvez créer une seule mesure qui calcule le même résultat :
YoY% =
VAR Sales =
SUM(SalesTable[SalesAmount])
VAR SalesLastYear =
CALCULATE ( SUM ( SalesTable[SalesAmount] ), SAMEPERIODLASTYEAR ( 'Calendar'[Date] ) )
return if(Sales, DIVIDE(Sales – SalesLastYear, Sales))
En utilisant une variable, vous pouvez obtenir le même résultat, mais de manière plus lisible. Et étant donné que le résultat de l’expression est stocké dans la variable, les performances de la mesure peuvent être considérablement améliorées, car il n’est pas nécessaire de recalculer chaque fois qu’elle est utilisée.
Contenu connexe
Utiliser des variables pour améliorer vos formules de DAXDAX requêtes