Une mesure DAX qui devient longue, difficile à lire et surtout impossible à déboguer : c’est une situation que la plupart des utilisateurs de Power BI (ou Power Pivot) finissent par rencontrer.
Lorsqu’un résultat ne correspond pas à nos attentes, il devient rapidement difficile d’identifier la partie de la logique qui pose problème.
Les variables en DAX offrent une réponse simple et efficace à cette problématique.
Bien utilisées, elles permettent de découper une mesure complexe en étapes claires, de tester chaque partie du raisonnement et de reprendre le contrôle sur des calculs qui semblaient jusque-là opaques. Dans certaines situations, elles peuvent également améliorer la performance des mesures.
Voyons maintenant ce qu’est concrètement une variable en DAX et comment elle fonctionne.
Dans cet article, nous allons voir :
- ce que sont les variables en DAX,
- comment les utiliser correctement dans des mesures,
- pourquoi les utiliser,
- quelles bonnes pratiques à adopter pour écrire un DAX plus clair, plus robuste et plus facile à déboguer.
Vous préférez la version vidéo ? La voici!
Qu’est-ce qu’une variable en DAX ?
Une variable permet de mémoriser une information afin de l’utiliser plus tard.
Dans le cas d’une mesure DAX, elle permettra d’évaluer et de mémoriser le résultat d’une expression pour le réutiliser plus loin dans la même mesure. Une variable peut contenir aussi bien une valeur scalaire (donnée unique) qu’une table.
Vous désirez apprendre les bases de la programmation?
Découvrez notre nouvelle formation Initiation à la programmation d'une durée de 3 heures. Elle enseigne les concepts généraux de la programmation sans égard à un langage particulier, et est également un prérequis pour la formation Excel – VBA (niveau 1) |
|---|
Comment utiliser une variable DAX ?
Pour être en mesure d’intégrer une variable en DAX, il faudra suivre une structure particulière.
Mesure =
VAR NomDeLaVariable = Expression
RETURN
ExpressionFinale
Il faut tout d’abord déclarer la variable en utilisant le mot-clé VAR. Celui-ci sera suivi du nom de la variable.
Ensuite, après le signe =, il faut identifier l’expression que l’on veut associer à cette variable, c’est-à-dire le calcul à effectuer.
Une fois que la ou les variables ont été déclarées, il faut utiliser le mot-clé RETURN pour indiquer l’expression qui doit être évaluée comme le résultat final de la mesure.
Pourquoi utiliser des variables dans vos mesures DAX ?
1️⃣ Améliorer la lisibilité des mesures
Sans variable, une mesure DAX peut rapidement devenir difficile à lire, surtout lorsque certaines expressions se répètent.
Dans l’exemple ci-dessous, on calcule le nombre d’employés actifs pour la période sélectionnée. Il faudra alors utiliser la colonne Date de la table DimDates à deux reprises.

Sans variable, on pourra lire que la date d’embauche doit être plus petite ou égale que la MAX date de la table DimDates, et que la date de départ doit être soit null (isblank) ou après la MIN date de la table DimDates. Cela fait beaucoup de dates à interpréter…
En revanche, en intégrant des variables, la mesure deviendra plus facile à lire. On ajoute alors 2 variables : l’une pour la date de début de période (DateDebut) et l’autre pour la fin de la période (DateFin).
Avec ces variables, on pourra lire que la date d’embauche doit être plus petite ou égale que la date de fin et que la date de départ doit être soit null (isblank), soit après la date de début.

2️⃣ Faciliter le débogage
Les variables sont un excellent outil de débogage.
Lorsque le résultat d’une mesure ne correspond pas à ce que vous attendez, il est souvent utile de :
- remplacer temporairement l’expression finale par une variable,
- afficher sa valeur dans une carte ou une matrice,
- valider chaque étape du raisonnement.
En reprenant le même exemple, on pourra passer l’expression finale dans une variable, ici appelée Resultat puis, inscrire la variable DateDebut après le RETURN.
Ceci nous permettra de tester la variable DateDebut.
En insérant la mesure dans une matrice, on pourra vérifier qu’elle comporte la bonne information et, au besoin, ajuster le calcul de la variable.

On remarque ici que la DateDebut correspond bien à la première journée de l’année correspondante.
3️⃣ Éviter les calculs répétés
Lorsqu’une même expression est utilisée plusieurs fois dans une mesure, la variable permet de :
- centraliser le calcul, facilitant ainsi la maintenance. Il suffira de modifier le calcul à un seul endroit pour qu’il s’applique à tous les endroits où la variable est appelée.
- accélérer l’exécution de la mesure, car le calcul sera effectué une seule fois, au moment où la variable est déclarée, même si elle est appelée à plusieurs endroits dans la mesure.
Dans l’exemple ci-dessous, on effectue un calcul de la marge en %. Ici, le calcul des ventes se trouve à deux endroits : au niveau du numérateur et ensuite du dénominateur.

En créant une variable pour les ventes, on s’assure que le calcul sera effectué une seule fois, dans la variable.

Les variables améliorent-elles toujours la performance?
Non, ce n’est pas toujours le cas. Pour qu’une variable améliore la performance, elle doit contenir une expression qui serait autrement recalculée plusieurs fois.
Mais, ce n’est pas garantie non plus. Par exemple, dans la version sans variable de la marge en %, le moteur DAX pourrait reconnaitre que sum(ventes[ventes] ) est la même expression utilisée à deux endroits et ainsi faire le calcul qu’une seule fois. Ainsi, on ne peut pas garantir que l’utilisation de variable entraînera un gain de performance mesurable.
Exemple d’utilisation de variable qui n’améliore pas la performance

Bonnes pratiques pour utiliser les variables DAX
✅ Déclarer les variables dans un ordre logique
Une variable peut en appeler une autre, à condition qu’elle ait été déclarée avant celle-ci. Dans l’exemple suivant, la variable _VENTES est utilisée dans la variable _MARGE. Elle doit donc être déclarée avant cette dernière, sinon elle ne sera pas reconnue et retournera une erreur.

✅ Donner des noms explicites
Évitez :
VAR x = MIN (DimDates[Date])
Préférez :
VAR DateDebut = MIN (DimDates[Date])
Vous pourriez aussi précéder vos noms de variables par le caractère suivant : « _ » . Ceci facilitera l’identification des variables dans le code et simplifiera la recherche dans le catalogue IntelliSense.

✅ Ne pas abuser des variables
Créer une variable pour chaque calcul n’apporte pas toujours de valeur.
Posez-vous les questions :
« Est‑ce que cette variable rend la logique de la mesure plus facile à lire et à expliquer ? »
« Est‑ce qu’elle évite de recalculer plusieurs fois la même expression dans la mesure ? »
En résumé
Les variables DAX sont un levier puissant pour :
- écrire des mesures plus lisibles,
- faciliter le débogage,
- structurer des calculs complexes,
- améliorer la maintenabilité des modèles Power BI.
Elles ne remplacent pas une bonne compréhension du langage DAX, mais elles en sont un complément essentiel.
Formation complémentaire
Le langage DAX est utilisé par Power Pivot (Excel) et Power BI. Il permet de créer des tableaux de bord flexibles et faciles à mettre à jour. Apprenez à maîtriser le langage DAX suivant la formation Introduction au langage DAX (Power BI et Power Pivot).
La mission du CFO masqué est de développer les compétences techniques des analystes et des contrôleurs de gestion en informatique décisionnelle avec Excel et Power BI et favoriser l’atteinte de leur plein potentiel, en stimulant leur autonomie, leur curiosité, leur raisonnement logique, leur esprit critique et leur créativité.


Vous désirez apprendre les bases de la programmation?
Découvrez notre nouvelle formation 




