Power BI · Cours interactif
Compétence · Langage DAX

DAX — Les fondamentaux

Les données sont propres : passons aux calculs. Le langage DAX permet de créer des colonnes calculées et des mesures pour analyser tes données et alimenter des visuels percutants.

🎚️ Intermédiaire 📁 base-visuels-DAX0.xlsx · base-DAX1.xlsx
Ta progression
0% 0 / 6 modules
Quel outil utilises-tu ?
Les instructions s'adaptent à ton choix (mémorisé).
🍎 Parcours web (Mac) : la modélisation en ligne

Le langage DAX est exactement le même sur le web : toutes les formules de ce cours se copient telles quelles. Seul l'endroit où tu les saisis change. Sur app.powerbi.com :

  1. Charge tes données via un Flux de données (compétence Power Query) ou un Classeur Excel, puis crée un Rapport — un modèle sémantique est créé automatiquement.
  2. Dans l'espace de travail, ouvre le modèle sémantique → Ouvrir le modèle de données (modélisation web) : tu y trouves Nouvelle mesure, Nouvelle colonne et les Relations.
  3. Tu peux aussi créer une mesure directement en éditant un rapport : volet Données → clic droit sur la table → Nouvelle mesure.

Fichiers : 02 - base-visuels-DAX0.xlsx (modules 1 à 3) puis 02 - base-DAX1.xlsx (modules 4 à 6).

📗 Tu connais Excel ? Voici l'équivalent des fonctions DAX de ce cours
En DAX (Power BI)≈ En ExcelL'idée
& (concaténation)& ou CONCAT() / CONCATENER()Coller deux textes bout à bout
SUM()SOMME()Additionner une colonne
CALCULATE(expr ; filtre)SOMME.SI.ENS()Un calcul filtré par un ou plusieurs critères
DIVIDE(a ; b)=SIERREUR(a/b ; 0)Une division qui gère le « ÷ 0 »
COUNTROWS()NB() / NBVAL()Compter les lignes
SUMX(table ; a*b)SOMMEPROD()Calculer ligne par ligne, puis additionner
ALL()≈ ignorer les filtres / segmentsObtenir le total général (dénominateur d'un %)

⚠️ Ce sont des analogies pour mieux visualiser : le DAX est plus puissant (il réagit au contexte des visuels), mais l'intuition Excel aide à démarrer.

1

Colonne calculée vs Mesure

La distinction la plus importante du DAX (+ concaténation &)
✓ Terminé

📁 À importer : 02 - base-visuels-DAX0.xlsx (modules 1 à 3).

Importe 02 - base-visuels-DAX0.xlsx. Avant de calculer, il faut comprendre la différence entre une colonne calculée et une mesure.

Colonne calculéeMesure
ContexteContexte de ligne (GLOBAL) — calcul ligne par ligneContexte de filtre (SYNTHÈSE) — calcul selon le visuel
StockageAjoutée et stockée dans la table (alourdit le modèle)Calculée à la volée, rien n'est stocké
Quand l'utiliserCatégoriser une ligne, créer une clé, un libelléAgréger : somme, moyenne, %, comptage…

Règle d'or débutant : si tu veux agréger (somme, moyenne, total qui réagit aux filtres), crée une mesure. Si tu veux une valeur par ligne (un libellé, une catégorie), crée une colonne calculée.

Exemple — colonne calculée par concaténation (&)

Crée une colonne « Département » qui fusionne le nom et le numéro du département.

  1. Vue Données (icône table à gauche), ruban Outils de table Nouvelle colonne.
  2. Ouvre le modèle de données en ligne (ou édite un rapport), sélectionne la table BaseVenteNouvelle colonne.
  3. Saisis la formule DAX :
DAX — Colonne calculée
Département = [Nom département] & " " & [Numéro département]

L'opérateur & est l'équivalent DAX de la fonction CONCATENER() d'Excel : il colle deux textes. La colonne apparaît avec l'icône fx dans le volet Données.

Vue Données de Power BI avec l'onglet Outils de table
La vue Données (onglet « Outils de table ») : c'est ici qu'on crée colonnes calculées et mesures.
✅ À toi de jouer
2

SUM() — ta première mesure

Calculer le chiffre d'affaires total
✓ Terminé

📁 Base : 02 - base-visuels-DAX0.xlsx (même fichier qu'au module 1).

Créer une mesure qui additionne le chiffre d'affaires : CA total.

  1. Ruban Outils de table Nouvelle mesure.
  2. Dans le modèle de données en ligne (ou en éditant un rapport) : clic droit sur BaseVenteNouvelle mesure.
  3. Saisis :
DAX — Mesure
CA total = SUM ( BaseVente[Chiffre d'affaires] )
  1. Valide : la mesure apparaît dans le volet Données avec l'icône calculatrice 🧮.
  2. Pense à régler son format (€, séparateur de milliers) dans Outils de mesure › Format.

Syntaxe : une mesure s'écrit Nom = FONCTION( Table[Colonne] ). On référence toujours une colonne sous la forme Table[Colonne].

≈ En Excel : SUM(BaseVente[Chiffre d'affaires]) revient à =SOMME(B:B) — additionner toute une colonne. La différence : la mesure se recalcule selon ce que tu mets dans le visuel.

Une mesure n'affiche rien tant qu'elle n'est pas placée dans un visuel : elle est « en prévisualisation » dans le volet Données. C'est normal !

Sur Power BI web — créer des mesures en ligne

Depuis le service, tu peux ajouter des mesures DAX directement dans le navigateur : ouvre le modèle sémantique (semantic model) de ton espace de travail, ou édite le rapport et utilise Nouvelle mesure. La syntaxe DAX est exactement la même que dans Desktop.

3

Créer des visuels avec la mesure « CA total »

Histogramme, carte, segment et matrice
✓ Terminé

📁 Base : 02 - base-visuels-DAX0.xlsx (suite du module 2).

Utilise la mesure CA total pour construire plusieurs visuels dans la vue Rapport.

  1. Histogramme pour comparer le CA par Département : Axe X = Département, Axe Y = CA total.
  2. Carte (123) pour afficher le CA total cumulé : glisse la mesure CA total dans un visuel « Carte ».
  3. Segment (filtre) pour lister les Villes : insère un visuel « Segment » et mets-y la colonne Ville. Il filtrera tous les autres visuels.
  4. Matrice (tableau croisé dynamique) pour résumer le CA par produit : Lignes = Produit, Valeurs = CA total.

Clique sur une ville dans le segment : tous les visuels se filtrent en même temps. C'est l'interactivité native de Power BI — aucune formule supplémentaire.

Rapport Power BI avec histogramme, carte et segment utilisant la mesure CA total
La mesure CA total alimente plusieurs visuels : histogramme, carte, segment.
✅ À toi de jouer
4

CALCULATE() — filtrer un calcul

La fonction la plus puissante du DAX
✓ Terminé

📁 À importer : 02 - base-DAX1.xlsx (nouveau fichier, modules 4 à 6).

Nouveau fichier : 02 - base-DAX1.xlsx. Objectif : calculer le CA d'un seul produit avec CALCULATE().

CALCULATE calcule une expression en modifiant le contexte de filtre. Sa syntaxe :

Syntaxe
CALCULATE ( <expression> , <filtre 1> , <filtre 2> … )

Exemple — le CA réalisé sur le produit « Jean » :

DAX — Mesure CA Jean
CA Jean =
CALCULATE (
    SUM ( BaseVente[CA2020] ) ,   -- l'expression à calculer
    BaseVente[Produit] = "Jean"     -- le filtre appliqué
)

≈ En Excel : c'est l'idée de SOMME.SI.ENS() — additionner en ne gardant que les lignes qui respectent un critère. CALCULATE(SUM(...) ; Produit="Jean")=SOMME.SI.ENS(CA ; Produit ; "Jean").

Ici, peu importe ce que filtre le visuel, CALCULATE force le filtre « Produit = Jean ». C'est la clé pour comparer un élément précis au total.

Cartes CA Jean 14K et CA Total 108K dans un rapport Power BI
La mesure CA Jean (14K) avec CALCULATE, à côté du CA Total (108K).
✅ À toi de jouer
5

Optimiser la Matrice (TCD) & les filtres valeurs

Nombre de commandes, CA, vente moyenne, % du CA par produit
✓ Terminé

📁 Base : 02 - base-DAX1.xlsx (suite du module 4).

Pour chaque produit, afficher dans une matrice : le nombre de commandes, le chiffre d'affaires, la vente moyenne et le % du CA.

Les mesures à créer

DAX — Nombre de commandes
Nb commandes = COUNTROWS ( BaseVente )
DAX — Vente moyenne
Vente moyenne = DIVIDE ( [CA total] , [Nb commandes] )
DAX — % du CA par produit
% CA =
DIVIDE (
    [CA total] ,
    CALCULATE ( [CA total] , ALL ( BaseVente[Produit] ) )
)

DIVIDE est préférable à l'opérateur / : il gère proprement la division par zéro (renvoie un blanc au lieu d'une erreur). ALL() retire le filtre produit pour obtenir le total général au dénominateur.

≈ En Excel : COUNTROWSNBVAL() · DIVIDE(a;b)=SIERREUR(a/b;0) · ALL() ≈ ignorer le filtre pour pointer le total général (comme une référence absolue au total).

Construire la matrice

  1. Insère un visuel Matrice. Lignes = Produit.
  2. Dans Valeurs : ajoute Nb commandes, CA total, Vente moyenne, % CA.
  3. Formate le % CA en pourcentage, et trie la matrice par CA décroissant.

Filtres de valeurs. Sur l'entête de la matrice, le bouton de filtre permet de n'afficher que les produits dont le CA dépasse un seuil (ex. « CA > 10 000 »).

Visuel Matrice Produit par Chiffre d'affaires dans un rapport Power BI
La Matrice (TCD) : le CA résumé par produit, avec un total général.
✅ À toi de jouer
6

SUMX() — calculer un profit ligne par ligne

Quand une simple somme ne suffit pas
✓ Terminé

📁 Base : 02 - base-DAX1.xlsx (suite du module 5).

Calculer le profit de chaque produit : profit = chiffre d'affaires − coût.

SUM ne sait additionner qu'une seule colonne. Or ici on veut (CA − coût) pour chaque ligne, puis additionner. C'est le rôle de SUMX : une fonction itérative qui parcourt la table ligne par ligne.

DAX — Mesure Profit avec SUMX
Profit =
SUMX (
    BaseVente ,                              -- la table à parcourir
    BaseVente[CA2020] - BaseVente[Coût]      -- calcul effectué sur chaque ligne
)

≈ En Excel : SUMX(BaseVente ; CA − Coût) ressemble à SOMMEPROD() : on calcule un résultat ligne par ligne (CA − coût), puis on additionne le tout d'un coup.

Les fonctions « X » (SUMX, AVERAGEX, MINX…) prennent deux arguments : (1) une table à parcourir, (2) une expression évaluée pour chaque ligne. Le résultat de chaque ligne est ensuite agrégé (ici : additionné).

Ne calcule pas le profit en faisant SUM(CA) - SUM(Coût) si les quantités diffèrent par ligne : tu perdrais le détail. SUMX garantit le bon calcul ligne par ligne.

✅ À toi de jouer

🎉 Compétence « DAX » terminée ! Tu maîtrises mesures, colonnes calculées, CALCULATE, la matrice et SUMX. La suite (DAX avancé) t'emmène vers l'analyse temporelle et les fonctions avancées.