DataSuits

DAX Power BI : Le Guide Complet pour Débutants 2026

Blog
DAX Power BI : Le Guide Complet pour Débutants 2026
Emoji de visage masculin avec lunettes rondes, clin d'œil et langue tirée sur fond beige.
Emoji 3D d'un homme souriant avec une barbe noire et une coiffure en dreadlocks sur fond violet clair.
Emoji féminin avec peau brune, cheveux tressés noirs, boucles d’oreilles dorées, nez percé, clin d'œil et langue tirée.
Visage animé avec cheveux violets, sourire les yeux fermés et main montrant les doigts croisés.

Candidater à l’une de nos formations DataSuits

Remplissez ce court formulaire pour candidater à la formation de votre choix. Notre équipe pédagogique vous contactera rapidement pour échanger sur votre parcours et vous accompagner dans la suite de votre inscription.

SW
Samy Wahbi Formateur Data · Responsable parcours Data Analyst
Mis à jour le 12 juillet 2026 · 13 min de lecture

Vous avez ouvert Power BI, importé vos données, posé quelques visuels. Tout va bien jusqu'au moment où votre responsable demande « peux-tu me comparer les ventes de ce mois à celles du mois dernier, en pourcentage ? ». Et là, blocage. Les visuels de base ne savent pas faire ça tout seuls. Il vous manque un langage pour donner des instructions précises à vos données : le DAX.

DAX a une réputation qui fait peur, un peu comme les jointures en SQL. Pourtant, une fois qu'on comprend sa logique (assez différente d'Excel, même si les deux se ressemblent en surface), les portes s'ouvrent vite. C'est le langage qui transforme un rapport qui affiche des données en rapport qui répond à des questions.

Je forme des Data Analysts chez DataSuits, organisme de formation Qualiopi certifié par l'Université Paris 1 Panthéon-Sorbonne, et si vous avez lu notre article sur ce qu'est Power BI, vous savez déjà que DAX en est le moteur de calcul. On va maintenant l'ouvrir vraiment : ce qu'il est, la différence entre mesure et colonne calculée, votre première formule, la fonction CALCULATE (probablement la plus importante de tout le langage), et le piège n°1 qui coince presque tous les débutants.

Le verdict en 2 phrases

DAX (Data Analysis Expressions) est le langage de formules utilisé dans Power BI pour créer des calculs personnalisés : mesures, colonnes calculées et tables calculées. Contrairement à Excel, où une formule s'applique à des cellules, DAX raisonne en colonnes et en contexte : la même formule peut renvoyer un résultat différent selon les filtres actifs dans le rapport, ce qui en fait un outil bien plus puissant pour l'analyse dynamique.

★ À retenir en 5 points

  • DAX signifie Data Analysis Expressions, le langage de calcul de Power BI (et de Power Pivot dans Excel).
  • Une mesure se calcule à la volée selon les filtres du rapport ; une colonne calculée est figée, ligne par ligne, dès l'import.
  • CALCULATE est considérée comme la fonction la plus importante de DAX : elle modifie le contexte de filtre d'un calcul.
  • Oublier une table de dates dédiée est l'erreur n°1 qui bloque toute comparaison temporelle (mois précédent, année précédente).
  • DAX est enseigné dans la formation Data Analyst & IA de DataSuits.
1Fonction la plus citée par les expertsCALCULATE
3Types de calculs DAXMesure, colonne, table calculées
2Contextes à maîtriserFiltre et ligne
5,0/5Note Google DataSuits110 avis vérifiés

Le concept

DAX, c'est quoi et pourquoi Power BI en a besoin ?

DAX (Data Analysis Expressions) est le langage de formules créé par Microsoft pour Power BI, mais aussi pour Power Pivot dans Excel et Analysis Services. Sans lui, Power BI se contente d'afficher ce que vous lui donnez : des sommes brutes, des comptages simples. Avec lui, vous créez de vraies analyses : des pourcentages d'évolution, des comparaisons dans le temps, des ratios personnalisés selon vos besoins métier.

La comparaison qui aide à démarrer : DAX ressemble aux formules Excel dans sa syntaxe (des fonctions, des parenthèses, des arguments), mais sa logique est complètement différente. En Excel, une formule s'applique à une cellule précise. En DAX, une formule s'applique à une colonne entière, et surtout, son résultat change automatiquement selon les filtres appliqués dans le rapport (un pays sélectionné, une période choisie). C'est cette adaptabilité qui fait toute la puissance de l'outil.

Prenons une image simple : une formule DAX est comme une question qu'on repose en permanence. « Quel est le total des ventes ? » n'a pas une seule réponse fixe : la réponse dépend de ce que l'utilisateur du rapport a sélectionné (une année, une région, un produit). DAX calcule cette réponse à chaque nouveau contexte, en temps réel. C'est ce qui distingue un tableau de bord figé d'un vrai outil d'analyse.

✅ Le bon état d'esprit : n'essayez pas de « traduire » vos réflexes Excel tels quels vers DAX. Excel pense en cellules, DAX pense en colonnes et en contexte. Le déclic vient quand vous arrêtez de chercher « quelle cellule » pour penser « quel calcul, sous quel filtre ».

La distinction clé

Mesure ou colonne calculée : la distinction essentielle

C'est la toute première question à trancher avant d'écrire une formule DAX, et c'est celle qui perd le plus de débutants. Power BI propose deux façons de créer un calcul : la mesure et la colonne calculée. Elles se ressemblent en apparence, mais fonctionnent de façon opposée.

Une colonne calculée se calcule une fois, ligne par ligne, au moment où les données sont chargées. Le résultat est stocké, figé, comme une colonne normale de votre table. Une mesure, elle, ne se calcule qu'au moment de l'affichage, en tenant compte de tous les filtres actifs à cet instant précis. Rien n'est stocké à l'avance : le résultat est recalculé à chaque interaction avec le rapport.

Comparaison
Critère
Colonne calculée
Mesure
Moment du calcul
À l'import des données
À l'affichage, en temps réel
Résultat
Figé, une valeur par ligne
Dynamique, selon les filtres
Cas d'usage typique
Catégoriser une ligne
Total, moyenne, ratio

Un exemple concret pour fixer l'idée : si vous voulez créer une colonne « Tranche d'âge » à partir d'une date de naissance, une colonne calculée convient : chaque client a une tranche d'âge fixe, qui ne dépend d'aucun filtre. En revanche, si vous voulez afficher le « Total des ventes », il vous faut une mesure : ce total doit changer selon que l'utilisateur filtre sur 2025, sur la France, ou sur un seul produit.

💡 La règle simple à retenir : si la réponse doit changer selon ce que l'utilisateur clique dans le rapport (une période, une catégorie), c'est une mesure. Si la valeur appartient intrinsèquement à la ligne et ne bougera jamais (un genre, une catégorie fixe), c'est une colonne calculée. Dans le doute, en analyse de données, la mesure est presque toujours le bon choix.

En pratique

Votre première formule DAX

Passons à la pratique avec un exemple concret. Imaginons une table Ventes, avec une ligne par transaction :

Table : Ventes
Produit
Quantité
Prix_Unitaire
Clavier
3
45
Souris
5
20
Écran
2
180

Première étape : créer une mesure qui calcule le total des ventes. Dans Power BI, on clique sur « Nouvelle mesure », puis on écrit :

DAX — Votre première mesure
Total Ventes = SUMX(Ventes, Ventes[Quantité] * Ventes[Prix_Unitaire])

Décortiquons cette formule, mot par mot. Total Ventes est le nom qu'on donne à la mesure. SUMX est une fonction qui parcourt chaque ligne de la table Ventes, calcule Quantité × Prix_Unitaire pour cette ligne précise, puis additionne tous ces résultats. Sur notre exemple, ça donne (3×45) + (5×20) + (2×180) = 135 + 100 + 360 = 595.

Résultat affiché dans le rapport
Mesure
Valeur
Total Ventes
595

Le point essentiel : si vous placez cette mesure sur un rapport avec un filtre par produit, elle recalculera automatiquement 595 pour tout, mais 135 si on filtre sur "Clavier" uniquement. Vous n'avez rien à réécrire : c'est le contexte de filtre qui fait tout le travail. C'est exactement cette adaptabilité qui différencie une mesure d'un simple total figé.

✅ SUMX vs SUM : SUM additionne directement une colonne existante (SUM(Ventes[Prix_Unitaire])). SUMX calcule d'abord quelque chose ligne par ligne (comme une multiplication), puis additionne. Utilisez SUMX dès que le calcul doit combiner plusieurs colonnes avant d'être additionné.

La fonction reine

CALCULATE : la fonction la plus importante de DAX

Si vous ne devez retenir qu'une seule fonction DAX en sortant de cet article, c'est celle-ci. CALCULATE fait une seule chose, mais elle est fondamentale : elle modifie le contexte de filtre d'un calcul. Concrètement, elle permet de dire « calcule-moi ce total, mais en ignorant ou en changeant certains filtres ».

Reprenons notre table Ventes. Imaginons qu'on veuille connaître le total des ventes, mais uniquement pour le produit "Clavier", peu importe ce que l'utilisateur a sélectionné dans le rapport. C'est exactement le travail de CALCULATE :

DAX — CALCULATE avec un filtre forcé
Ventes Clavier = CALCULATE(
    [Total Ventes],
    Ventes[Produit] = "Clavier"
)

Cette formule dit : « calcule ma mesure Total Ventes, mais force le filtre sur Produit = Clavier, quel que soit le filtre déjà en place ». Résultat : 135, toujours, même si l'utilisateur du rapport a sélectionné un autre produit dans un menu déroulant. C'est ce mécanisme qui permet de créer des comparaisons : le total général à côté d'un total forcé sur une catégorie précise, pour calculer une part de marché ou un pourcentage.

💡 Pourquoi CALCULATE change tout : sans elle, vos mesures sont entièrement dépendantes des filtres de l'utilisateur. Avec elle, vous reprenez le contrôle : comparer un produit au total, comparer un mois au mois précédent, ignorer un filtre spécifique. C'est la fonction qui débloque 90% des analyses avancées en Power BI.

Le concept qui coince

Contexte de filtre vs contexte de ligne

C'est LE concept qui demande un vrai effort de compréhension en DAX, mais une fois acquis, tout s'éclaire. Il existe deux façons dont DAX « sait » sur quelles données travailler : le contexte de ligne et le contexte de filtre.

Le contexte de ligne, c'est « la ligne en cours de traitement ». Quand SUMX parcourt votre table Ventes ligne par ligne pour multiplier Quantité par Prix_Unitaire, chaque passage a son propre contexte de ligne : DAX sait exactement de quelle ligne il parle à cet instant.

Le contexte de filtre, c'est l'ensemble des filtres actifs autour d'un calcul : ceux posés par les visuels du rapport, les segments (slicers), ou ceux imposés manuellement par CALCULATE. Une mesure comme Total Ventes n'a pas de contexte de ligne propre : elle se contente d'obéir au contexte de filtre qui l'entoure au moment de son affichage.

✅ L'image qui aide à retenir : le contexte de ligne, c'est un doigt qui pointe une ligne précise dans un tableau. Le contexte de filtre, c'est une paire de lunettes qui ne laisse voir qu'une partie du tableau. SUMX utilise le doigt pour parcourir chaque ligne ; une mesure classique utilise les lunettes pour savoir quoi additionner.

Le piège n°1

Le piège n°1 : la table de dates manquante

C'est l'erreur qui bloque presque tous les débutants au moment où ils essaient enfin des calculs un peu avancés, du type « comparer ce mois-ci au mois dernier ». Le symptôme : une fonction de time intelligence comme celle-ci ne fonctionne pas, ou renvoie une erreur.

DAX — Comparaison mois précédent (nécessite une table de dates)
Ventes Mois Précédent = CALCULATE(
    [Total Ventes],
    PREVIOUSMONTH(Calendrier[Date])
)

Pour que cette formule fonctionne, Power BI a besoin d'une table de dates dédiée (souvent appelée « Calendrier »), reliée à votre table de ventes, et marquée explicitement comme « table de dates » dans le modèle. Sans elle, les fonctions de comparaison temporelle comme PREVIOUSMONTH, SAMEPERIODLASTYEAR ou DATESYTD ne peuvent pas fonctionner correctement, car elles ont besoin d'une séquence de dates continue et complète pour naviguer dans le temps.

⚠️ Le réflexe à prendre : dès que votre projet Power BI implique la moindre comparaison dans le temps, créez une table de dates dès le départ (via Power Query ou une formule DAX dédiée), reliez-la à vos tables de faits, et marquez-la comme table de dates dans les propriétés du modèle. Cette étape, souvent zappée par les débutants, évite des heures de formules qui ne fonctionnent pas comme prévu.

Les autres pièges

Les autres erreurs de débutant à éviter

Au-delà de la table de dates, deux autres erreurs reviennent très souvent chez ceux qui découvrent DAX.

1. Diviser sans se protéger de la division par zéro

Écrire une division classique ([Ventes] / [Quantité]) plante dès que le dénominateur vaut zéro. La solution : utilisez toujours la fonction DIVIDE, qui gère ce cas automatiquement et renvoie un résultat vide plutôt qu'une erreur.

DAX — Division sécurisée
Prix Moyen = DIVIDE([Total Ventes], [Total Quantité], 0)

2. Créer trop de colonnes calculées au lieu de mesures

Les débutants venant d'Excel ont le réflexe de tout faire en colonnes calculées, comme des formules classiques. Problème : chaque colonne calculée alourdit le fichier (elle est stockée pour chaque ligne) et n'est pas dynamique. Pour un total, un ratio, une moyenne, la mesure est presque toujours la bonne réponse, comme vu plus haut.

📚 Maîtrisez Power BI et le DAX de A à Z

Notre formation Data Analyst & IA vous forme au SQL, à Python, à Power BI et à l'IA sur des données réelles d'entreprise. Certificat de l'Université Paris 1 Panthéon-Sorbonne, mentors disponibles 7j/7.


La suite

S'entraîner et aller plus loin

Le DAX se maîtrise en pratiquant sur de vraies données, pas en mémorisant des fonctions. Voici comment progresser à partir d'ici.

Reprenez notre exemple et variez les calculs

Utilisez la table Ventes de cet article et créez d'autres mesures : le prix moyen (avec DIVIDE), le nombre de produits vendus (avec COUNTROWS), la part d'un produit dans le total (en combinant CALCULATE et votre mesure Total Ventes). C'est en variant les cas que le déclic se produit vraiment.

Construisez une vraie table de dates

Avant de vous attaquer aux comparaisons temporelles, entraînez-vous à créer une table de dates propre et à la relier à vos données. C'est un prérequis technique qui débloque énormément de possibilités une fois en place, et qui évite la frustration du piège vu plus haut.

Combinez DAX avec le reste de la stack Data

Le DAX prend tout son sens combiné à des données propres, souvent préparées en amont avec du SQL ou du Python. Si les bases de la donnée ne sont pas encore acquises, nos guides sur les jointures SQL et le GROUP BY posent ces fondations. Pour aller plus loin sur Power BI et le DAX avec un accompagnement complet, notre formation Data Analyst & IA couvre SQL, Python, Power BI et l'IA sur des projets réels, avec un certificat de l'Université Paris 1 Panthéon-Sorbonne, des mentors 7j/7 et un accompagnement carrière. Notre formation Power BI dédiée et notre blog restent aussi disponibles.

🎯 Devenez Data Analyst en 2026

En 20 minutes avec un conseiller, vous validez si le métier de Data Analyst vous correspond, vous calculez votre financement (CPF, France Travail, OPCO) et vous repartez avec un plan clair. Service gratuit, sans engagement.


Questions fréquentes

DAX (Data Analysis Expressions) est le langage de formules utilisé dans Power BI pour créer des calculs personnalisés : mesures, colonnes calculées et tables calculées. Contrairement à une formule Excel qui s'applique à une cellule fixe, une formule DAX raisonne en colonnes et s'adapte automatiquement au contexte de filtre du rapport (une période sélectionnée, une catégorie choisie). C'est ce qui permet de créer des analyses dynamiques : totaux, pourcentages d'évolution, comparaisons temporelles.
Une colonne calculée se calcule une seule fois, ligne par ligne, au moment où les données sont chargées : le résultat est stocké et figé. Une mesure se calcule uniquement au moment de l'affichage, en tenant compte des filtres actifs du rapport : son résultat change dynamiquement selon ce que l'utilisateur sélectionne. Règle simple : si la valeur doit changer selon les filtres (un total, une moyenne), utilisez une mesure. Si elle est fixe pour chaque ligne (une catégorie), utilisez une colonne calculée.
CALCULATE est la seule fonction DAX capable de modifier le contexte de filtre d'un calcul. Elle permet de forcer, ajouter ou ignorer des filtres pour répondre à des questions précises, comme « le total des ventes pour ce seul produit, peu importe ce que l'utilisateur a sélectionné ». C'est le mécanisme qui permet de construire des comparaisons (part de marché, évolution dans le temps) et qui débloque la majorité des analyses avancées. C'est pour cette raison qu'elle est considérée comme la fonction la plus importante du langage.
C'est très probablement parce qu'il manque une table de dates dédiée dans votre modèle. Les fonctions de comparaison temporelle comme PREVIOUSMONTH ou SAMEPERIODLASTYEAR ont besoin d'une table de dates continue, reliée à vos données et marquée comme telle dans les propriétés du modèle Power BI. Sans cette table, ces fonctions ne peuvent pas naviguer correctement dans le temps. C'est l'erreur la plus fréquente chez les débutants qui s'attaquent aux calculs de comparaison.
SUM additionne directement les valeurs d'une colonne existante, par exemple SUM(Ventes[Prix]). SUMX parcourt une table ligne par ligne, calcule une expression pour chaque ligne (souvent une multiplication entre deux colonnes), puis additionne tous ces résultats. Utilisez SUM pour additionner une colonne telle quelle. Utilisez SUMX dès que le calcul doit d'abord combiner plusieurs colonnes avant d'être additionné, comme Quantité multipliée par Prix Unitaire pour obtenir un chiffre d'affaires.
Le DAX a une réputation intimidante, mais la difficulté vient surtout d'un seul concept à assimiler : le contexte (de ligne et de filtre). Une fois ce mécanisme compris, la logique devient cohérente et prévisible. Si vous êtes déjà à l'aise avec les formules Excel, la syntaxe DAX ne vous dépaysera pas trop ; c'est la façon de penser qui change. Avec de la pratique sur des exemples concrets, comme ceux de cet article, le déclic se produit généralement en quelques séances.
Ce n'est pas obligatoire, mais c'est un vrai avantage. La syntaxe DAX (fonctions, parenthèses, arguments) ressemble beaucoup à celle des formules Excel, ce qui facilite la prise en main. Attention toutefois à ne pas transposer telle quelle la logique Excel : DAX ne raisonne pas en cellules mais en colonnes et en contexte de filtre. Une bonne connaissance d'Excel accélère l'apprentissage de la syntaxe, mais la vraie compétence à développer reste propre à DAX.
Une division classique comme [Ventes] / [Quantité] provoque une erreur dès que le dénominateur vaut zéro, ce qui peut casser tout un visuel dans Power BI. La fonction DIVIDE gère ce cas automatiquement : elle renvoie un résultat vide (ou une valeur par défaut que vous choisissez) au lieu d'une erreur. C'est une bonne pratique systématique en DAX, qui évite des rapports qui plantent sur des données incomplètes ou des filtres qui isolent une ligne à zéro.
Non, DAX est aussi utilisé dans Power Pivot (le module de modélisation de données dans Excel) et dans Analysis Services, l'outil de Business Intelligence de Microsoft pour les grandes organisations. Ces trois outils partagent le même moteur de calcul tabulaire, ce qui signifie qu'une formule DAX apprise dans Power BI reste valable et transférable dans ces autres environnements. C'est un vrai atout pour la portabilité de cette compétence sur le marché du travail.
Après avoir compris les bases de Power BI, les mesures et la fonction CALCULATE sont les deux étapes qui font passer un débutant en analyse avancée. La formation Data Analyst & IA de DataSuits (2 990 € TTC) vous forme au SQL, à Python, à Power BI et à l'IA sur des données réelles, avec un certificat de l'Université Paris 1 Panthéon-Sorbonne. Elle est éligible CPF, France Travail et OPCO, avec mentors 7j/7. La note Google de DataSuits est de 5,0/5 sur 110 avis vérifiés. Notre formation Power BI dédiée est aussi disponible.
SW
À propos de l'auteur
Samy Wahbi
Formateur Data · Responsable parcours Data Analyst

Formateur Data et responsable du parcours Data Analyst chez DataSuits, j'enseigne le SQL, Python et Power BI au quotidien. Le DAX, et particulièrement CALCULATE, fait partie des notions que je prends le temps de vraiment expliquer plutôt que de simplement lister : c'est en comprenant le contexte de filtre qu'on débloque tout le potentiel de Power BI.

Conclusion : DAX, le moteur qui rend vos rapports intelligents

Le DAX transforme Power BI d'un simple outil d'affichage en un vrai moteur d'analyse. La distinction mesure vs colonne calculée, la fonction CALCULATE et une table de dates bien construite suffisent à débloquer la grande majorité des besoins d'analyse en entreprise : totaux dynamiques, comparaisons temporelles, parts de marché.

Le seul vrai effort à fournir, c'est d'assimiler la logique du contexte, différente de celle d'Excel. Une fois ce déclic fait, chaque nouvelle formule DAX devient plus facile à comprendre, parce qu'elle repose toujours sur les mêmes mécanismes : ligne, filtre, et la capacité de CALCULATE à les manipuler.

Pour transformer ces bases en compétence professionnelle complète, notre formation Data Analyst & IA à 2 990 € avec certificat de l'Université Paris 1 Panthéon-Sorbonne vous forme au SQL, à Python, à Power BI et à l'IA sur des données réelles. Prochaine étape : prenez rendez-vous avec un conseiller. 20 minutes pour bâtir votre projet. Service gratuit, sans engagement.

Financez votre formation en toute simplicité

Le financement ne doit jamais être un frein à votre projet.
Chez DataSuits, nos conseillers pédagogiques vous accompagnent à chaque étape pour trouver la meilleure solution de financement adaptée à votre profil:

logo-mon-compte-professionnel-de-formationFrance-travail-2023.svgopco-1

Candidater à l’une de nos formations DataSuits

Remplissez ce court formulaire pour candidater à la formation de votre choix.
Notre équipe pédagogique vous contactera rapidement pour échanger sur votre parcours et vous accompagner dans la suite de votre inscription.

Logo_datasuits

Votre demande a bien été prise en compte. 📚

Prochaine étape 👇
Réservez un échange téléphonique avec un conseiller pour parler de votre projet de formation
Contacter un conseiller
Oups ! Une erreur est survenue lors de l’envoi du formulaire.