Maîtriser Power Query : transformer des données plates en schéma en étoile
By Mirko Peters · · Updated
Bienvenue sur le blog d’accompagnement du podcast ! Dans cet article, nous plongeons dans les mécanismes techniques de la modélisation des données. Si vous avez déjà hérité d’un énorme export plat issu d’un système d’entreprise, où chaque transaction répète des millions de fois les noms de clients, les catégories de produits et les localisations géographiques, vous connaissez les difficultés qu’il
Automatically translated with AI from the original post. Read the English original
Bienvenue sur le blog d’accompagnement du podcast ! Dans cet article, nous plongeons dans les mécanismes techniques de la modélisation des données. Si vous avez déjà hérité d’un énorme export plat issu d’un système d’entreprise, où chaque transaction répète des millions de fois les noms de clients, les catégories de produits et les localisations géographiques, vous connaissez les difficultés qu’il engendre pour vos rapports. Performances lentes, formules DAX difficiles à comprendre et fichiers surdimensionnés ne sont que la partie visible de l’iceberg. Heureusement, il existe un modèle d’architecture éprouvé, sur lequel s’appuient les développeurs BI professionnels pour résoudre ce problème précis : le schéma en étoile.
Dans ce guide complet, nous verrons comment transformer une table unique et désordonnée issue d’un export de données, à l’aide de Power Query, en une table de faits centrale et en tables de dimensions efficaces et performantes. Au passage, nous aborderons la planification stratégique, les bonnes pratiques de nettoyage des données, la génération de clés de substitution et les techniques d’optimisation du modèle qui rendront vos rapports Power BI ultra rapides.
Introduction à Power Query et aux bases du schéma en étoile
Lorsque vous concevez une solution dans Microsoft Power BI, la structure sous-jacente des données détermine tout ce qui suit. Le schéma en étoile est une technique de modélisation des données mature et très optimisée : vos indicateurs métier sont regroupés dans une table de faits centrale, tandis que les attributs descriptifs de vos entités métier se trouvent dans les tables de dimensions qui l’entourent. Visualisé sur un diagramme, ce modèle prend la forme d’une étoile. La plupart des développeurs BI choisissent cette méthode, car elle produit une solution décisionnelle particulièrement simple à maintenir et à faire évoluer.
Les études montrent constamment que l’adoption de ce modèle de conception rapporte énormément. En effet, environ 80 % des utilisateurs de Power BI qui construisent des modèles en schéma en étoile constatent une amélioration des performances et de l’efficacité d’analyse par rapport aux approches reposant sur une table plate. À l’inverse, renoncer au schéma en étoile crée de sérieux points de friction tout au long du cycle de développement :
- Requêtes lentes, causées par une redondance et une duplication massives des données.
- Formules DAX complexes résultant de relations entre tables ambiguës ou absentes.
- Maintenance difficile et goulots d’étranglement lors de la montée en charge, à l’arrivée de nouvelles données métier.
Pour bien comprendre comment restructurer vos données, examinons les étapes fondamentales à franchir avant d’écrire la moindre ligne de code de transformation.
Planifier votre schéma en étoile
Avant d’écrire la moindre étape de transformation dans Power BI, vous devez disposer d’un plan clair et réfléchi pour votre schéma en étoile. Une planification soignée vous évite la confusion, accélère vos rapports et rend votre modèle beaucoup plus simple à maintenir. En tant que développeur BI, vous devez toujours auditer vos sources de données et cartographier votre schéma avant d’importer des exports bruts et non structurés dans Power BI Desktop.
Analyser les sources de données et identifier les tables clés
Commencez votre démarche d’architecture par un examen approfondi de vos sources de données brutes. Recherchez les tables ou fichiers plats qui contiennent des événements métier chiffrés, comme les transactions de vente, les clics sur le web ou les mouvements de stock. Ceux-ci deviendront à terme votre table de faits centrale. Ensuite, repérez les colonnes qui décrivent des entités métier, comme les noms de clients, les descriptions de produits, les listes d’employés ou les dates de calendrier. Elles serviront de base à vos tables de dimensions.
Astuce : privilégiez toujours des clés entières numériques pour vos jointures de tables. Les clés numériques accélèrent les requêtes du moteur VertiPaq et rendent les relations nettement plus fiables que les correspondances fondées sur du texte.
Une fois vos tables identifiées, dessinez un diagramme entité-relation. Veillez à ce que votre table de faits centrale se relie directement à chacune de ses tables de dimensions, et évitez strictement de relier directement deux tables de faits entre elles. Limiter votre modèle à un seul saut entre faits et dimensions prévient les ambiguïtés de filtrage et garde votre modèle sémantique propre.
Importer et nettoyer les données avec Power Query
Importer vos données dans Power BI pose les fondations absolues d’un schéma en étoile fiable. Vous devez vous connecter à vos sources de données, nettoyer et transformer les données entrantes, puis charger vos tables avec soin. Power Query joue le rôle de principal atelier de préparation des données : il vous permet de mettre en forme et d’affiner les informations avant qu’elles n’atteignent votre modèle de données.
Lors de l’importation des données, utilisez judicieusement les paramètres 'Activer le chargement' de Power Query. Désactivez le chargement des requêtes de préparation et des tables intermédiaires afin que seules vos tables de faits et de dimensions finales, optimisées, occupent la mémoire de votre modèle. Par ailleurs, effectuez le plus possible d’étapes de filtrage et de transformation au plus près de la source de données, selon le principe du pliage de requête (query folding), afin de réduire au maximum les durées d’actualisation.
Nettoyer vos données consiste à supprimer systématiquement les erreurs, à corriger les incohérences de format et à uniformiser les chaînes de texte. Vérifiez l’absence de valeurs manquantes dans les colonnes de clés étrangères critiques et corrigez-les immédiatement. Garantir que vos clés ont le même type de données d’une table à l’autre est indispensable à la réussite de la création des relations.
Création des tables de dimensions et des clés de substitution
Une table de dimensions bien conçue constitue véritablement l’épine dorsale de votre schéma en étoile. Vous utilisez les tables de dimensions pour fournir un contexte riche sur vos activités métier. Pour extraire ces dimensions d’un export de données à plat, vous devez isoler les attributs uniques d’une entité et supprimer les lignes en double.
Extraction des attributs et suppression des doublons
Lorsque vous construisez une table de dimensions à partir d’un export de données à plat, ne sélectionnez que les colonnes utiles au filtrage et au regroupement. Par exemple, une dimension Produit doit isoler l’ID produit, le nom du produit, la catégorie, la sous-catégorie et le prix unitaire. Une fois ces colonnes isolées, supprimez les enregistrements en double afin que chaque entité n’existe qu’une seule fois. Des lignes uniques garantissent que vos relations un-à-plusieurs fonctionnent sans effets de filtrage croisé inattendus.
Pour rendre vos tables de dimensions robustes face aux changements dans les systèmes sources, envisagez de générer des clés de substitution. Une clé de substitution est une colonne d’index entier artificielle, à incrémentation automatique, créée lors des étapes de transformation de Power Query. Utiliser des clés de substitution plutôt que des clés textuelles naturelles et volatiles protège vos données de faits historiques lorsque des descripteurs sources, comme l’adresse du domicile d’un client ou le nom d’un produit, évoluent dans le temps.
Construction et agrégation de la table de faits
Une fois vos tables de dimensions propres établies, vous pouvez vous consacrer à la construction de la table de faits centrale. La table de faits stocke les événements métier mesurables et quantitatifs. Chaque ligne représente une transaction ou une occurrence précise, au niveau de granularité le plus fin requis par vos parties prenantes.
Pour gérer des jeux de données volumineux, envisagez de créer des tables d’agrégation au niveau de la requête ou de l’entrepôt de données. Pré-agréger les données par mois, par région ou par catégorie de produit réduit considérablement le nombre de lignes et accélère l’affichage des visuels. Lors de la construction de votre table de faits, vérifiez que la granularité est cohérente : mélanger des lignes agrégées au quotidien avec des transactions individuelles à la seconde dans la même table de faits altérera vos agrégations de mesures et entraînera des doubles comptages.
Configuration des relations et optimisation du modèle
Une fois vos tables chargées dans Power BI, vous devez configurer les relations du modèle dans la vue Modèle. Établissez des relations propres de type un-à-plusieurs, allant du côté « un » de vos tables de dimensions vers le côté « plusieurs » de votre table de faits centrale.
Par défaut, conservez un filtrage croisé à sens unique. Évitez le filtrage bidirectionnel, sauf en cas de nécessité absolue, car il introduit des chemins de filtre complexes, dégrade les performances du moteur VertiPaq et produit souvent des résultats analytiques inattendus. Auditez régulièrement votre modèle pour supprimer les colonnes inutilisées, réduire les champs texte à forte cardinalité dans les relations et veiller à ce que votre table de calendrier continu soit explicitement marquée comme table de dates, afin de permettre des calculs d’intelligence temporelle fluides.
Création de rapports et analyse avec votre schéma en étoile
En fin de compte, tous vos efforts de modélisation aboutissent à la couche de reporting. Lorsque votre modèle sémantique est structuré en schéma en étoile propre, la création de tableaux de bord interactifs devient un véritable plaisir. Les segments et les filtres s’appliquent instantanément, les mesures DAX restent lisibles et faciles à déboguer, et les fonctionnalités de questions-réponses en langage naturel atteignent une précision remarquable.
Pour explorer ce modèle d’architecture plus en détail et entendre les conseils d’experts sur les pièges courants de la modélisation, n’hésitez pas à écouter l’épisode de podcast associé : Build a Power BI Star Schema for Faster Reports.
Conclusion
Transformer des exports de données brutes et désordonnées en un schéma en étoile optimisé à l’aide de Power Query compte parmi les compétences les plus rentables qu’un développeur Power BI puisse maîtriser. En planifiant soigneusement votre schéma, en nettoyant vos dimensions, en générant des clés de substitution stables et en configurant des relations un-à-plusieurs strictes, vous obtenez des performances de requête fulgurantes, des calculs DAX simplifiés et un reporting d’entreprise robuste.
N’hésitez pas à vous appuyer sur des listes de contrôle de modélisation, à valider le nombre de lignes par rapport aux systèmes sources et à auditer en continu vos modèles à mesure que les besoins de votre organisation évoluent. Pour approfondir ces stratégies et les échanges pratiques sur les bonnes pratiques de l’écosystème Microsoft, écoutez l’épisode complet sur Build a Power BI Star Schema for Faster Reports. Bonne modélisation !