Skip to content
Learni
Voir tous les tutoriels
Business Intelligence

Comment maîtriser DAX en 2026

Read in English

Introduction

DAX, ou Data Analysis Expressions, est le langage de formules propriétaire de Microsoft conçu pour les outils d'analyse comme Power BI, Excel Power Pivot et Analysis Services. Contrairement à Excel classique, DAX excelle dans les modèles de données relationnels, permettant des calculs dynamiques basés sur des relations entre tables.

Pourquoi maîtriser DAX en 2026 ? Dans un monde data-driven, les analystes qui manipulent DAX transforment des données brutes en insights actionnables, boostant la prise de décision. Imaginez analyser les ventes par région et période en un clin d'œil, sans requêtes SQL complexes. Ce tutoriel beginner se concentre sur la théorie pure : concepts fondamentaux, contextes d'évaluation et meilleures pratiques. Pas de code ici, mais une compréhension solide pour appliquer DAX intuitivement.

Avec 15 ans d'expérience, je vous guide des bases aux nuances subtiles, comme un mentor. À la fin, vous penserez DAX comme un pro. (128 mots)

Prérequis

  • Power BI Desktop (gratuit) ou Excel 2016+ avec Power Pivot activé.
  • Notions de base en Excel : sommes, moyennes, filtres.
  • Un modèle de données simple (ex. : table Ventes + table Calendrier).
  • Pas de programmation requise.

1. Les fondations : Qu'est-ce que DAX ?

DAX est un langage fonctionnel déclaratif, pas procédural. Vous décrivez quoi calculer, pas comment. Analogie : comme dire 'calcule le total des ventes' au lieu d'itérer manuellement sur des lignes.

Éléments clés :

  • Formules : Mesures (agrégations dynamiques) ou Colonnes calculées (valeurs par ligne).
  • Syntaxe : Nom = Fonction(Arguments). Exemple concret : une mesure pour le total des ventes utilise une fonction d'agrégation sur une colonne.

Différence avec Excel : DAX gère les relations entre tables. Si 'Ventes' lie à 'Produits', DAX propage automatiquement les filtres. Étude de cas : Dans un rapport ventes, DAX recalcule en temps réel selon les slicers sélectionnés.

2. Le modèle de données : La base de tout

DAX repose sur un modèle en étoile : table Faits (ex. Ventes) au centre, tables Dimensions (Clients, Produits, Dates) autour.

Relations : Unidirectionnelles (1:N), comme '1 Client → N Ventes'. DAX suit ces chemins pour filtrer.

Exemple concret : Table Ventes (DateID, Montant), liée à Calendrier (DateID, Année, Mois). Une mesure 'Ventes Année' agrège via la relation Date → Ventes.

Checklist pour un bon modèle :

  • Clés uniques sur dimensions.
  • Pas de boucles circulaires.
  • Granularité cohérente (ex. ventes par jour).

Sans modèle solide, DAX produit des résultats erronés – c'est 80% du succès.

3. Mesures vs Colonnes calculées

Mesures : Calculs agrégés dynamiques, évalués au contexte du visuel. Idéales pour totaux, moyennes. Ex. : 'Ventes Totales = SOMME(Ventes[Montant])' – change avec filtres.

Colonnes calculées : Valeurs fixes par ligne, stockées en mémoire. Pour flags ou ratios ligne par ligne. Ex. : 'Catégorie = SI(Produits[Prix] > 100, "Premium", "Standard")'.

Quand choisir ?

CritèreMesureColonne calculée
-----------------------------------
Dynamique
StockageLégerPlus lourd
PerformanceMeilleurePlus lente sur gros datasets

Exemple : Ratio marge par produit → Colonne ; Total marge → Mesure. Erreur newbie : tout en colonnes = modèle gonflé.

4. Les contextes d'évaluation : Le cœur de DAX

DAX évalue dans 3 contextes imbriqués :

  • Query Context : Filtres du rapport (slicers, filtres de page).
  • Filter Context : Filtres sur colonnes (ex. pour une table).
  • Row Context : Ligne courante (dans itérateurs comme SUMX).

Analogie : Query = zoom global ; Filter = loupe sur table ; Row = microscope sur ligne.

Exemple concret : Mesure 'Ventes Région' → Query filtre 'Région=Paris' applique Filter Context.

Itérateurs (X functions) : Ajoutent Row Context. SUMX itère lignes, applique formule, somme. Sans : agrégation directe.

Maîtrisez ça pour déboguer : Utilisez DAX Studio pour visualiser contextes.

5. Fonctions essentielles et temps-intelligence

Agrégations de base : SUM, AVERAGE, COUNT, MIN/MAX – avec variantes filtrées (SUMX pour itération).

Logiques : IF, SWITCH, AND/OR – pour conditions.

Temps-intelligence : TOTALYTD (année à date), SAMEPERIODLASTYEAR. Requièrent table Dates marquée.

Exemple : 'Ventes YTD = TOTALYTD(SUM(Ventes[Montant]), Calendrier[Date])' – Cumul janvier à sélection.

Framework pour apprendre :

  1. Maîtrisez agrégations simples.
  2. Ajoutez itérateurs pour lignes.
  3. Temps-intelligence pour tendances.

Ces fonctions couvrent 90% des cas business.

Bonnes pratiques

  • Toujours utiliser des noms descriptifs : 'Ventes TTC France 2024' > 'Mesure1'.
  • Préférez mesures aux colonnes : Économisez mémoire et gagnez en performance.
  • Marquez la table Dates : Essentiel pour temps-intelligence (Mark as Date Table).
  • Testez itérativement : Créez carte visuelle simple pour valider chaque mesure.
  • Utilisez variables : VAR VentesFiltrées = CALCULATE(...) RETURN VentesFiltrées * 1.2 – lisible et performant.

Erreurs courantes à éviter

  • Ignorer les contextes : Mesure sans CALCULATE ne propage pas les filtres externes → faux totaux.
  • Modèle mal relationné : Relations bidirectionnelles causent double comptage (ex. totaux gonflés).
  • Itérateurs inutiles : SUM au lieu de SUMX sur colonnes simples = complexité gratuite.
  • Table Dates manquante : Temps-intelligence renvoie vide ou erreurs.

Pour aller plus loin

Passez à la pratique avec DAX Studio (gratuit) pour debugger. Lisez 'The Definitive Guide to DAX' de Marco Russo.

Découvrez nos formations Learni sur Power BI et DAX : ateliers pratiques pour pros.

Ressources : Documentation Microsoft DAX, communauté Power BI.