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 measure. Une fois que les values résultantes ont été calculées pour une expression variable, ces valuesnot changent, evenif 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 sont not pris en charge. Par exemple, ' varName' or [varName] entraîne une error. Jeu de caractères pris en charge : a-z, A-Z, 0-9. 0-9 sont not valides en tant que caractère first. __ (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 not autorisés. Les noms des tables existantes sont not autorisés. Les espaces vides sont not autorisés. |
expression |
Expression DAX qui retourne une table or scalaire value. |
Retourner value
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 measure, 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 calculate un pourcentage de yearcroissanceyear sans utiliser de variable, vous pouvez créer trois mesures distinctes. Cette firstmeasure calcule Sum du montant des ventes :
Sum of SalesAmount = SUM(SalesTable[SalesAmount])
Une secondmeasure calcule le montant des ventes pour le previousyear:
SalesAmount PreviousYear =
CALCULATE([Sum of SalesAmount],
SAMEPERIODLASTYEAR(Calendar[Date])
)
Vous pouvez ensuite créer un troisième measure qui combine les deux autres mesures pour calculate un pourcentage de croissance. Notez que le Sum de SalesAmount measure est utilisé à deux endroits ; first pour déterminer if il y a une vente, puis de nouveau pour calculate 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 measure 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. And étant donné que le résultat de l’expression est stocké dans la variable, les performances de l'measurepeuvent être considérablement améliorées, car elles n’ont pas à être recalculées chaque time qu’elle est utilisée.
contenu Related
Utiliser des variables pour améliorer vos formules de DAXDAX requêtes