L’importance du modèle Power Query dans un projet data avec Power BI

14 décembre 2023

Le modèle de requêtes Power Query, en amont de la vue Modèle dans Power BI Desktop, est le grand oublié de Power BI. En voici une preuve : quand on parle de modèle de données, la vue Modèle avec ses relations et ses tables liées les unes aux autres est le premier réflexe de tout utilisateur de Power BI.

Le premier modèle à comprendre et à gérer est pourtant celui de Power Query.

Une bonne compréhension et une gestion optimisée de celui-ci est donc fondamentale, car elle permettra de limiter le nombre de tables nécessaires dans la vue Modèle de Power BI Desktop. Cela permettra aussi de réduire le recours au langage DAX au strict nécessaire (agrégations, calculs basés sur des sélections faites par l’utilisateur). La rapidité et la performance du fichier final en dépendront donc.

Méthodes simples permettant d’optimiser l’architecture Data

Power Query est un outil simple, qui propose une solution avec un verbe d’action pour chaque problème : filtrer, trier, pivoter, dépivoter, transposer, fractionner, extraire, combiner, ajouter …

Toutes ces solutions sont effectuées sur des requêtes (c’est-à-dire des tables), et sont présentées visuellement sous la forme d’étapes. L’avantage, c’est que toutes ces étapes peuvent et doivent être rejouées dès que nécessaire, par exemple lors de la mise à jour d’une source de données ou de l’ajout d’un fichier source.

 

Duplication de requêtes

La duplication de requêtes permet de rejouer les mêmes étapes tout en modifiant un petit détail : par exemple une autre formule de calcul, un autre taux de TVA, un fichier différent, un onglet différent, une autre page web, un filtre différent ou un traitement différent sur une autre colonne.

En dupliquant une requête autant de fois que nécessaire, on peut rapidement faire des modifications « localisées » et ainsi gagner un temps précieux.

 

Création de références

Via la création de références, Power Query permet de créer une arborescence, une hiérarchie qui limite les actions nécessaires.

En effet, plusieurs requêtes s’alimentent à partir d’une requête qui sert de « source », ou bien de référentiel.

Le nombre d’étapes est alors significativement réduit, puisque toutes les requêtes qui doivent s’appuyer sur des traitements déjà effectués ou bien sur des données déjà modélisées n’ont qu’à prendre référence sur les requêtes qui ont déjà tous les traitements nécessaires.

Méthodes complexes permettant d’optimiser l’architecture Data

Power Query permet d’aller encore plus loin que les duplicats et les références.

On retrouve par exemple la notion de variables avec les paramètres Power Query. Ces paramètres doivent être créés et insérés dans les requêtes à chaque fois qu’une valeur peut changer, prendre plusieurs valeurs ou qu’elle est inconnue à l’avance.

On retrouve également la notion de requêtes d’exemple, c’est-à-dire des requêtes qui servent de modèle, de prototype pour appliquer des traitements une grande série de fois.

Sur la base d’une requête d’exemple, qui référence un ou plusieurs paramètres, Power Query permet de créer une fonction qui permettra d’industrialiser la requête d’exemple, c’est-à-dire de l’appeler autant de fois que nécessaire.

Enfin, il est possible d’appeler une fonction sur une liste de valeurs, ce qui permet un ajout vertical de données issues de plusieurs sources dans une requête unique.

Modèle généré automatiquement par Power Query lorsqu'on utilise le connecter "Dossier"

Ce n’est pas très clair ? C’est pourtant le schéma rappelé juste au-dessus, et c’est ce que fait Microsoft automatiquement lorsque vous vous connectez à un dossier.

Conclusion

En conclusion, un modèle sémantique bien géré sur Power BI est donc un modèle qui a d’abord été optimisé dans Power Query, sur lequel on a utilisé de manière appropriée les duplicats et des références de requêtes et sur lequel les traitements Power Query respectent les 20 commandements que nous avons énoncés.

 

Un modèle bien pensé, c’est aussi un modèle dans lequel on a modélisé une requête d’exemples, en y insérant des paramètres, avec une fonction Power Query reprenant le modèle et l’intégrant une multitude de fois dans une requête de consolidation.

Si tous ces aspects n’ont pas été négligés dans Power Query, en principe le nombre de tables chargées dans Power BI est minime et donc l’effort de modélisation entre les tables (cardinalité, direction du filtrage croisé) est réduit.

modèle Power Query permettant de se connecter à une fraction de plusieurs pages web sur wikipedia

Articles en relation

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram