ArticlesPraticien · Modélisation

Le schéma en étoile : la compétence qui sépare un rapport d’un modèle

Faits, dimensions, table de dates : pourquoi la table plate finit par mentir, et la méthode pas à pas pour construire un schéma en étoile dans Power BI.

PraticienModélisationPublié le 19 mai 2026Dylan Arnaud9 min

Tout le monde commence pareil : un export, une grande table où chaque ligne porte à la fois la vente, le client, le produit et la date, et des visuels branchés directement dessus. Ça marche, deux semaines. Puis un total double sans raison, un filtre cesse de filtrer, la comparaison avec l’an dernier devient une expédition. Ce moment est le plus important de votre progression : c’est celui où l’on arrête de faire des rapports pour commencer à construire des modèles.

Pourquoi la table plate finit toujours par mentir

Une table plate répète tout. Les attributs du client sont recopiés sur chacune de ses lignes de vente : comptez les clients sans y penser et vous comptez des lignes ; faites la moyenne d’un attribut client et chaque gros acheteur pèse autant que son volume de commandes. Premiers mensonges, presque invisibles.

Le mensonge suivant arrive avec la deuxième source. Comparer les ventes aux objectifs ? Les objectifs sont mensuels par région, les ventes à la ligne de ticket : deux granularités forcées dans une même table, et les montants se dupliquent ou disparaissent selon la jointure. Une table plate ne sait pas dire par quoi elle se mesure. Le schéma en étoile le dit structurellement : des faits au centre, des dimensions autour, des relations qui font circuler les filtres de façon prévisible.

Faits et dimensions : des définitions qui tiennent

Un fait est un événement que l’on mesure : une vente, un paiement, une livraison. La table de faits en stocke une ligne par événement, c’est son grain, avec les nombres à agréger et les clés vers les dimensions. Une dimension est un axe d’analyse : elle répond au « par quoi » de vos questions, une ligne par entité, des colonnes qui décrivent. Le test infaillible tient dans la question métier elle-même. « Le CA par région et par mois » : le CA se somme, c’est un fait ; la région et le mois découpent, ce sont des dimensions.

Une table plate transformée en étoile

Source brute

Une ligne de vente répète le client, le produit, la date, la région et les montants.

Table de faits

On garde le grain mesurable : une ligne de commande, les clés, quantité, montant, remise.

Dimensions

Clients, Produits et Dates décrivent les axes d'analyse et filtrent les faits en sens unique.

Le modèle devient lisible parce que chaque table a un rôle unique : mesurer ou décrire.

  • Ventes, table de faits : une ligne par ligne de commande, avec quantité, montant, remise, et les clés vers le client, le produit, la date.
  • Clients, dimension : une ligne par client, avec nom, segment, région, canal d’acquisition.
  • Produits, dimension : une ligne par référence, avec catégorie, gamme, prix catalogue.
  • Dates, dimension : une ligne par jour, avec mois, trimestre, année, jour de semaine, jour ouvré.

Découper sa table plate, concrètement

Le découpage se fait dans Power Query, avant le modèle, jamais à coups de DAX après. Six étapes :

  1. 1Écrire le grain de la table de faits« Une ligne = une ligne de commande ». Si la phrase ne vient pas, le modèle ne viendra pas non plus.
  2. 2Trier les colonnes par rôleCe qui se mesure reste dans les faits ; ce qui décrit part en dimension.
  3. 3Créer les dimensions par référenceGardez la clé et les colonnes descriptives, puis supprimez les doublons.
  4. 4Alléger la table de faitsGardez les clés et les colonnes de mesure ; supprimez les descriptions devenues redondantes.
  5. 5Créer les relations un-à-plusieursCôté un : la dimension. Côté plusieurs : les faits. Filtre en sens unique vers les faits.
  6. 6Masquer les clés et écrire les mesuresLe modèle est prêt quand l'utilisateur voit le métier, pas la plomberie technique.

Piège 1, La relation plusieurs-à-plusieurs

Power BI vous laissera relier deux colonnes qui contiennent l’une et l’autre des doublons. Ce n’est presque jamais une bonne nouvelle : la relation plusieurs-à-plusieurs est le symptôme d’un grain mal défini ou d’une dimension manquante, et elle rend la propagation des filtres difficile à prédire, donc les totaux difficiles à défendre. Retenez surtout la règle qui évite le piège en amont : deux tables de faits, ventes et objectifs, par exemple, ne se relient jamais entre elles ; elles partagent des dimensions communes (Dates, Régions), et c’est par elles que la comparaison se fait.

Piège 2, Des colonnes de fait dans les dimensions

Ajouter « CA total » comme colonne de la table Clients : l’idée vient vite, et elle coûte cher. Cette colonne est figée à l’actualisation, votre segment de dates ne la changera jamais, elle duplique une logique qui existe déjà ailleurs, et elle finira par contredire la mesure officielle. La règle : une dimension décrit, elle ne compte pas. Tout ce qui s’agrège vit dans une table de faits ou dans une mesure. La nuance qui éclaire la frontière : le prix catalogue est un attribut du produit, dimension ; le prix réellement payé change à chaque transaction, fait.

Piège 3, Pas de table de dates dédiée

Le piège le plus répandu, parce que tout semble fonctionner sans elle : Power BI génère des hiérarchies de dates automatiques, une table cachée par colonne de date, qui alourdissent le modèle sans rien structurer. Une table de dates dédiée change la donne pour trois raisons. Un : un seul calendrier filtre toutes vos tables de faits d’un même geste, ventes et objectifs se comparent enfin sur le même axe. Deux : elle porte vos attributs métier, exercice fiscal, semaines, jours ouvrés, que personne ne génère automatiquement. Trois : la time intelligence (TOTALYTD, SAMEPERIODLASTYEAR, DATEADD) exige un calendrier contigu, un jour par ligne et sans trou, marqué comme table de dates ; sans cela, ces fonctions peuvent rendre des résultats faux sans le moindre message d’erreur. Désactivez la date automatique, construisez votre calendrier, reliez-le à chaque table de faits.

Les symptômes ci-dessous apparaissent rarement le premier jour. Ils arrivent quand le rapport devient utilisé, filtré et challengé en réunion.
Table plateSchéma en étoile
TotauxDoublons dès la deuxième granularitéJustes par construction
Décomptes (clients, produits)Des lignes déguisées en entitésUne ligne par entité : le compte est bon
Plusieurs sources (ventes + objectifs)Jointures fragiles, montants dupliquésDimensions partagées, comparaison native
Time intelligenceBricolée, souvent fausseNative, portée par la table de dates
Mesures DAXLongues, défensivesCourtes, lisibles
ÉvolutionDes colonnes qui s’empilentUne dimension ou une mesure à la fois

À retenir

Un rapport affiche des chiffres ; un modèle garantit qu’ils sont justes. Faits au centre, dimensions autour, table de dates toujours : l’étoile n’est pas un luxe d’expert, c’est la condition de la confiance dans vos chiffres.

Par où continuer

Reprenez votre dernier rapport et posez-lui la question du grain : si la réponse ne tient pas en une phrase, vous savez ce qu’il vous reste à faire. Ensuite, cherchez les colonnes qui se répètent inutilement : clients, produits, dates, régions. Ce sont souvent vos premières dimensions.

Écrit par Dylan Arnaud, fondateur de Datafuji. Les exemples techniques sont conçus pour être relus, testés et adaptés dans un modèle Power BI réel.