Modéliser les données
Construire un modèle propre avant de créer le moindre visuel : tables de faits et de dimensions, relations fiables, filtres qui circulent dans le bon sens.
⬇Fichiers d’exemple Excel
Deux classeurs pour suivre le module dans Power BI Desktop. Chaque table est mise en forme en tableau Excel : il suffit de cocher T_… dans .
A3I_PowerBI_Modele_Ventes.xlsx
Schéma en étoile complet : Ventes (280 lignes, 2 dates, 3 clients orphelins), Clients, Produits, Calendrier 2025. Sert aux sections 3.1, 3.3, 3.4 et aux trois exercices.
Télécharger le fichierA3I_PowerBI_Pieges_Detection.xlsx
Deux tables piégées : une colonne Code de sens différent et une clé nommée Client_ID d’un côté, IdClient de l’autre. Pour la section 3.2.
3.1Définition du modèle conceptuel de données
Le modèle décrit quelles tables existent, ce que contient chacune et comment elles se relient. Dans Power BI, il se lit dans la (troisième icône à gauche).
- Distinguer une table de faits d’une table de dimension
- Identifier clé primaire, clé étrangère et cardinalité
- Reconnaître un schéma en étoile
Faits et dimensions
| Type de table | Contenu | Exemple | Volume |
|---|---|---|---|
| Faits | Les événements chiffrés : montants, quantités, durées | Ventes, Commandes, Inscriptions | Beaucoup de lignes |
| Dimension | Le contexte d’analyse : qui, quoi, où, quand | Clients, Produits, Calendrier | Peu de lignes, une par élément |
Vocabulaire indispensable
| Terme | Définition |
|---|---|
| Clé primaire | Colonne aux valeurs uniques qui identifie chaque ligne (ex. IdClient dans Clients) |
| Clé étrangère | La même information dans la table de faits, répétée autant de fois que nécessaire |
| Cardinalité | Nombre de correspondances de part et d’autre : 1:*, 1:1, *:* |
| Schéma en étoile | Une table de faits entourée de dimensions. C’est le modèle recommandé par Microsoft pour Power BI |
Dessinez le modèle sur papier avant d’importer : une colonne « faits » au centre, les questions métier (par client ? par mois ?) autour. Chaque question devient une dimension.
3.2Détection automatique des relations
Au chargement, Power BI tente de relier seul les tables qui partagent une colonne de même nom et de même type, dont l’une contient des valeurs uniques.
Activer ou désactiver l’option
- Dans la partie Fichier actif, cliquez sur
- Section Relations : cochez ou décochez Détecter automatiquement les nouvelles relations après le chargement des données
- Validez par OK
Relancer la détection à la demande
- (ou onglet )
- Cliquez sur Détection automatique… : Power BI indique le nombre de relations trouvées
La détection se fie aux noms de colonnes. Deux colonnes Code sans rapport peuvent être reliées à tort, et IdClient / Client_ID ne seront pas reliées. Contrôlez toujours le résultat dans la Vue Modèle.
Importez A3I_PowerBI_Pieges_Detection.xlsx avec la détection activée : Power BI relie les deux colonnes Code (code postal et code promo) et ignore Client_ID / IdClient. La feuille Lisez-moi guide la correction.
Sur un modèle de formation ou un fichier hérité, beaucoup de formateurs désactivent l’option pour créer chaque relation volontairement. C’est plus lent, mais chaque lien est compris.
3.3Gérer les relations
Créer, modifier, désactiver ou supprimer une relation. Deux méthodes : le glisser-déposer dans la Vue Modèle, ou la boîte de dialogue.
Créer une relation par glisser-déposer
- Ouvrez la
- Faites glisser
IdClientde la table Clients surIdClientde la table Ventes - Vérifiez la fenêtre qui s’ouvre : cardinalité Un à plusieurs (1:*), direction Unique
- Cliquez sur Enregistrer (ou OK selon la version)
Les propriétés d’une relation
| Propriété | Valeurs | Recommandation |
|---|---|---|
| Cardinalité | Un à plusieurs, Un à un, Plusieurs à plusieurs | 1:* dans 90 % des cas. Le *:* signale souvent une dimension mal construite |
| Direction du filtre croisé | Unique, Les deux | Unique : le filtre part de la dimension vers les faits. « Les deux » crée des ambiguïtés |
| Rendre cette relation active | Oui / Non | Une seule relation active entre deux tables. Les autres s’affichent en pointillés |
| Supposer l’intégrité référentielle | Oui / Non | DirectQuery uniquement (voir 3.4) |
Date de commande active, date de livraison inactive ? Activez la seconde dans une mesure : CA livré = CALCULATE([CA], USERELATIONSHIP(Ventes[DateLivraison], Calendrier[Date]))
Une relation ne fonctionne que si les deux colonnes ont le même type de données. Un IdClient en Texte d’un côté et en Nombre entier de l’autre se corrige dans Power Query, pas dans la Vue Modèle.
3.4L’intégrité référentielle
Elle garantit que chaque clé étrangère des faits pointe vers une ligne qui existe dans la dimension. Une vente pour le client C999, absent de la table Clients, viole l’intégrité.
Ce qui se passe dans Power BI
| Mode | Comportement |
|---|---|
| Import | Les lignes orphelines restent comptées mais apparaissent sous une valeur (Vide) dans les visuels |
| DirectQuery | L’option Supposer l’intégrité référentielle remplace la jointure externe par une jointure interne : requêtes plus rapides, mais les orphelines disparaissent des totaux |
Détecter les lignes orphelines
- Créez un tableau avec
Clients[RaisonSociale]et la mesure[CA] - Repérez une ligne (Vide) : elle regroupe les ventes sans client correspondant
- Dans Power Query, faites une Ventes ↔ Clients en Anti gauche pour lister les clés manquantes
- Corrigez à la source, ou ajoutez les clients manquants à la dimension
Access applique l’intégrité de façon stricte : , double-clic sur le lien, case Appliquer l’intégrité référentielle. On peut y ajouter la mise à jour et la suppression en cascade. Power BI, lui, analyse sans bloquer la saisie.
✎Exercices
Fichier de travail : A3I_PowerBI_Modele_Ventes.xlsx, à télécharger plus haut.
Construire l’étoileDécouverte
Importez Ventes, Clients, Produits et Calendrier. Désactivez la détection automatique, puis créez les trois relations 1:* à la main. Vérifiez que la direction est Unique.
Deux dates, une dimensionApplication
Reliez DateLivraison au Calendrier (relation inactive). Créez la mesure CA livré avec USERELATIONSHIP et comparez-la au CA par mois de commande.
Chasse aux orphelinsMaîtrise
Trois ventes portent un code client inexistant. Retrouvez-les par une fusion Anti gauche, chiffrez le CA concerné et proposez une correction.
✓Quiz de validation
Cliquez sur une réponse. Score : 0 / 4