4.2Power Pivot, modèle de données & intro DAX
L'essentiel en 30 secondes
- Relier au lieu d'aplatir : le modèle de données (Power Pivot) relie plusieurs tables par des relations sur une clé commune — un TCD puise alors dans plusieurs tables comme si elles n'en formaient qu'une.
- DAX = calculs centralisés : une mesure (ex. SOMME(Ventes[Montant])) vit dans le modèle et se recalcule selon les filtres du TCD — un seul calcul « CA » pour tous les tableaux.
- Réflexe de Wassim : dès que les RECHERCHEX se multiplient, il est temps de modéliser — et c'est la porte vers Power BI (mêmes concepts).
Mini-cas filé — Wassim croise ventes et produits sans une seule RECHERCHEX
Wassim, comptable à Alger, analyse le chiffre d'affaires par catégorie : sa table Ventes (CodeProduit, Montant) et sa table Produits (CodeProduit, Catégorie) l'obligeaient à des RECHERCHEX fragiles sur des milliers de lignes. Il charge les deux tables dans le modèle, crée une relation sur CodeProduit et écrit une mesure Total Ventes. Son TCD croise la catégorie (de Produits) et la mesure — sans RECHERCHEX. Deuxième jalon du fil rouge : la table Power Query de 4.1 alimente maintenant un vrai modèle.
Suite du cas 4.1 — la table nettoyée par Wassim entre dans le modèle de données.
1. Relier des tables au lieu de tout aplatir
Au lieu d'écrire des RECHERCHEX pour tout rassembler dans une seule table géante, le modèle de données (Power Pivot) relie plusieurs tables par des relations (une clé commune, ex. CodeProduit). Un TCD peut alors puiser dans plusieurs tables reliées comme si elles n'en formaient qu'une. C'est le principe des bases de données, dans Excel — et Wassim y gagne des classeurs légers et fiables.
La relation exige des clés de même type (texte avec texte, nombre avec nombre) et des valeurs uniques côté parent : sinon la jointure échoue ou produit des doublons. On vérifie les types dès Power Query, avant de modéliser.
2. La mesure DAX
DAX (Data Analysis eXpressions) est le langage de calcul du modèle. Une mesure est un calcul réutilisable et contextuel : Total Ventes := SOMME(Ventes[Montant]) se recalcule selon ce qu'on filtre dans le TCD (par région, par mois…). Une mesure vit dans le modèle, pas dans une cellule — tous les TCD partagent le même calcul.
Ne confondez pas mesure (contextuelle, recalculée par filtre) et formule de cellule (fixe, locale) : c'est la contextualité qui fait la puissance du modèle de Wassim.
3. Pourquoi c'est puissant
Le modèle gère de gros volumes (bien au-delà d'une feuille), évite la duplication (pas de RECHERCHEX partout), et centralise les calculs (une mesure « CA » utilisée par tous les TCD). C'est la marche vers Power BI, qui repose sur les mêmes concepts (modèle + DAX).
En pratique : on charge les tables nettoyées (idéalement via Power Query) dans le modèle avec Ajouter au modèle de données, on déclare les relations, on écrit les mesures de base, puis on construit les TCD.
Le savais-tu ?
Le TCD n'est que la vitrine ; le modèle est le magasin.
🔎 Exemple concret — 🔎 Exemple concret — Un TCD sur deux tables reliées
Table Ventes (CodeProduit, Montant) reliée à Produits (CodeProduit, Catégorie) :
Relation : Ventes[CodeProduit] → Produits[CodeProduit]
Mesure : Total Ventes := SUM(Ventes[Montant])
TCD : Catégorie (de Produits) en Lignes, [Total Ventes] en Valeurs
→ CA par catégorie SANS aucune RECHERCHEX
// Variante : CA d'Alger uniquement
CA Alger := CALCULATE(SUM(Ventes[Montant]), Ventes[Ville] = "Alger")
Lecture : le TCD croise deux tables grâce à la relation, la mesure suit les filtres.
Leçon : on modélise (relations) au lieu d'aplatir à coups de RECHERCHEX.
Vocabulaire de la section
- Modèle de données
- Ensemble de tables reliées par des relations, stockées dans le classeur.
Exemple simple : Wassim y charge Ventes et Produits pour les croiser en TCD.
Ce que ce n'est pas : une seule table géante aplatie à coups de RECHERCHEX.
Réflexe : plusieurs tables à croiser durablement : charger dans le modèle.
- Relation
- Lien entre deux tables via une clé commune (ex. CodeProduit), de types identiques.
Exemple simple : Wassim relie Ventes et Produits sur CodeProduit.
Ce que ce n'est pas : une formule qui recopie une valeur ligne à ligne.
Réflexe : croiser deux tables : déclarer la relation sur la clé.
- Mesure DAX
- Calcul réutilisable et contextuel qui s'adapte aux filtres du TCD.
Exemple simple : Le Total Ventes de Wassim se recalcule par mois et par ville.
Ce que ce n'est pas : une formule de cellule fixe et locale.
Réflexe : calcul partagé par plusieurs TCD : écrire une mesure.
- Contexte de filtre
- Ce qui est filtré dans le TCD et conditionne le résultat d'une mesure.
Exemple simple : Filtrer sur Alger recalcule automatiquement le CA de Wassim.
Ce que ce n'est pas : une valeur figée indépendante des filtres.
Réflexe : mesure surprise : vérifier d'abord les filtres actifs.
En pratique — En pratique — Relier deux tables
- Chargez deux tables (Ventes, Produits) dans le modèle de données.
- Créez une relation sur la clé commune (CodeProduit).
- Créez une mesure simple : Total Ventes := SUM(Ventes[Montant]).
- Faites un TCD croisant une colonne de Produits et la mesure, sans RECHERCHEX.
Script prêt à dire — expliquer le modèle à un collègue (30 s)
« C'est Wassim : au lieu de recopier les catégories avec des RECHERCHEX, j'ai relié les deux tables sur le code produit. Le TCD croise directement les tables, et ma mesure du chiffre d'affaires se recalcule selon les filtres. Un seul calcul pour tous les tableaux — et ça prépare Power BI. »
À dire quand quelqu'un propose « encore une colonne de RECHERCHEX » : montrez le TCD multi-tables.
Modèle copier-coller — Mesures DAX de base
Total Ventes := SUM(Ventes[Montant])
Nb Ventes := COUNTROWS(Ventes)
Panier Moyen := DIVIDE([Total Ventes], [Nb Ventes])
CA Alger := CALCULATE(SUM(Ventes[Montant]), Ventes[Ville] = "Alger")
CA par catégorie
Comme Wassim : relation Ventes-Produits sur CodeProduit, TCD avec catégorie en lignes et mesure en valeurs.
Suivi par ville
Filtrer le TCD sur Alger : la même mesure se recalcule sans nouvelle formule.
Gros volumes
Des centaines de milliers de lignes : le modèle les absorbe là où la feuille sature.
Clés de types différents
Échec de relation : realigner les types en Power Query (texte/texte), puis recréer la relation.
✓ Bonnes pratiques
- Modéliser par relations plutôt que dupliquer.
- Centraliser les calculs dans des mesures.
- Voir le modèle comme la porte vers Power BI.
✗ Pièges fréquents
- Tout aplatir avec des RECHERCHEX (lourd, fragile).
- Relations sur des clés de types différents (échec).
- Confondre une mesure (contextuelle) et une formule de cellule (fixe).
Points clés à retenir
- Le modèle de données relie plusieurs tables par des relations.
- Un TCD peut puiser dans plusieurs tables reliées.
- DAX : une mesure = calcul réutilisable et contextuel.
- Mêmes concepts que Power BI (modèle + DAX).
Défi 48h — appliquez demain
Sur vos vraies tables : chargez-en deux dans le modèle, créez la relation sur la clé commune, écrivez une mesure SOMME et croisez-la en TCD sans RECHERCHEX.
- Je sais charger des tables et créer une relation.
- Je sais écrire une mesure DAX simple et contextuelle.
- Je sais croiser plusieurs tables en TCD sans RECHERCHEX.
Questions fréquentes
Modèle de données ou RECHERCHEX ?
RECHERCHEX pour rapatrier une valeur ponctuelle ; le modèle pour analyser durablement plusieurs tables reliées (gros volumes, calculs centralisés). Dès que les RECHERCHEX se multiplient, il est temps de modéliser.
DAX est-il difficile ?
Les mesures simples (SOMME, MOYENNE dans le modèle) sont accessibles ; la puissance (contextes, CALCULATE) demande de la pratique. On commence par des mesures basiques, exactement comme on a commencé par =SOMME.
À quoi sert une relation dans le modèle de données ?