2.1 · Relations & modèle de données

Niveau 2 · Intermédiaire : modèle de données & introduction au DAX

2.1Relations & modèle de données

Objectif : créer des relations entre tables, comprendre cardinalité et sens de filtre.
Temps estimé : 18 min

Niveau décisif : le modèle. Vos données réelles arrivent en plusieurs tables — les ventes, le référentiel produits, le référentiel clients — et Power BI les relie par des relations : un trait entre deux tables sur une colonne commune. Une fois la relation en place, un visuel peut croiser « Désignation produit » et « Montant des ventes » sans aucune formule : le modèle propage les filtres.

Vous apprendrez à créer et vérifier des relations dans la vue Modèle, à lire la cardinalité (un-à-plusieurs dans l'immense majorité des cas) et le sens de filtrage — et à diagnostiquer le symptôme classique de la relation manquante : les totaux identiques sur toutes les lignes.

Vocabulaire de la section

Relation
Le lien entre deux tables sur une colonne commune (Produits[Code] ↔ Ventes[CodeProduit]) : le canal par lequel les filtres circulent.
Cardinalité un-à-plusieurs (1:*)
Le cas standard : UN produit du référentiel ↔ PLUSIEURS lignes de ventes. Le côté « 1 » est la dimension, le côté « * » les faits.
Sens de filtrage
Par défaut, le filtre va du côté « 1 » vers le côté « * » : filtrer un produit filtre ses ventes. Le sens unique est la norme saine.
Détection automatique
Power BI devine certaines relations à l'import : à VÉRIFIER systématiquement dans la vue Modèle — il se trompe parfois.
Colonne clé
La colonne commune qui porte la relation : unique côté dimension, répétée côté faits — jamais de doublons côté « 1 ».
Vérifiez votre compréhension

À quoi sert une relation entre deux tables ?

Relations & modèle de données
Vidéo hébergée sur YouTube — ouvrir dans un nouvel onglet ↗
Tutos « 2.1 » Power BI relations modèle de données (recherche)
Cliquer pour voir les résultats à jour ↗

En pratique — Relier ventes et référentiel produits

  1. Importez une seconde table « Produits » (Code, Désignation, Catégorie, PrixUnitaire) — créez-la dans Excel si besoin.
  2. Vue Modèle : si Power BI n'a pas créé la relation, glissez Ventes[CodeProduit] sur Produits[Code] — le trait apparaît.
  3. Double-cliquez le trait : lisez cardinalité (1:*) et sens de filtrage (unique) — la configuration saine par défaut.
  4. Preuve par le visuel : créez un histogramme Catégorie (de Produits) × Montant (de Ventes) — les deux tables dialoguent. Supprimez la relation pour VOIR le symptôme (mêmes totaux partout), puis recréez-la.
Votre premier modèle multi-tables fonctionnel — et le symptôme de la relation manquante reconnu à vie.

Points clés à retenir

  • Les relations remplacent les RECHERCHEV : le modèle propage les filtres entre tables.
  • Cardinalité normale : un-à-plusieurs, du référentiel (1) vers les faits (*).
  • Vérifiez toujours les relations auto-détectées dans la vue Modèle.
  • Totaux identiques sur toutes les lignes d'un visuel = relation manquante ou cassée : le diagnostic n°1.

Questions fréquentes

Quand utiliser une relation bidirectionnelle ?

Presque jamais : elle crée des ambiguïtés et des lenteurs. Les cas légitimes existent (certains filtrages par dimension partagée) mais se traitent d'abord par le schéma en étoile (2.2) ou par DAX (CROSSFILTER). Réflexe : sens unique.

Ma relation refuse la cardinalité 1:* : pourquoi ?

Votre colonne « clé » côté dimension contient des doublons ou des vides. Nettoyez dans Power Query (Supprimer les doublons, filtrer les nuls) : une dimension a UNE ligne par élément, c'est sa définition.

Autres ressources