C’est quoi « Power Query » ?
« Power Query » est un module intégré à plusieurs outils de plateforme de données Microsoft (Power BI, Excel, Azure Data Factory…). Il permet via une multitude de connecteurs d’extraire les données de plusieurs systèmes ou applications et de les transformer dans le but d’effectuer des analyses ou encore de tout simplement nettoyer les données.
Une solution « Power Query » est en général composée de plusieurs éléments : dossiers, requêtes, fonctions, paramètres, scripts M…
À tous les éléments ci-dessous peuvent être ajouté des descriptions ou des commentaires en fonction du type d’objet. Cet aspect est malheureusement parfois négligé par les développeurs Power Query (moi inclus 😊).
Dans cet article, je vous propose de parcourir les éléments « Power Query » et de voir comment documenter efficacement sa solution.
Pourquoi documenter sa solution ?
Le fait de documenter sa solution et de commenter ces scripts à deux avantages principaux :
- Pouvoir revenir plusieurs mois ou années plus tard et comprendre ce que nous avions ou une autre personne avait mis en place.
- Pouvoir réutiliser les éléments de description dans des outils de dictionnaire et de catalogue de données
Description de dossiers
Comme vous le savez probablement, il est possible d’organiser ses requêtes « Power Query » dans un ensemble de dossiers. Ci-dessous une organisation que j’ai l’habitude de mettre en place.

Il est important d’ajouter des descriptions à ces dossiers pour les raisons que nous avons évoquées plus haut. Pour le faire, faites un clic droit sur le dossier et cliquer sur « Propriétés »

Lorsque la fenêtre de propriétés s’ouvre, entre une description détaillée et explicite puis cliquez sur le bouton « OK ».

Désormais, lorsque le curseur de votre souris survol le dossier « Paramètres », la description s’affiche sous forme d’infobulle.

Vous devez effectuer le même travail pour tous vos dossiers, à l’exception du dossier « Autres requêtes » sur lequel vous n’aurez pas la main pour le faire car il est directement créé par l’outil.
Description des paramètres
De même que les dossiers, lorsque vous créer un paramètre dans « Power Query » vous pouvez lui associer une description. Pour le faire, faites un clic-droit au niveau de votre paramètre puis cliquer sur « Gérer »

Lorsque la fenêtre de gestion des paramètres s’ouvre, entrer une description claire pour votre paramètre :

La description des paramètres est encore plus importante car elle sera également affichée au niveau du service Power BI en ligne par exemple. Et permettra, lorsque vous allez devoir changer la valeur d’un paramètre, de ne pas vous poser trop de questions au sujet du paramètre. Un exemple ci-dessous :

Description des fonctions
Continuons à présent avec la description des fonctions. Cette partie est très importante car vous pouvez créer des fonctions simples ou complexes. La description permettra sans ouvrir le script de savoir ce que fait la fonction.
Vous devez penser à préciser quel est ou quels sont le(s) paramètres d’entrer si la fonction en possède et quel est le résultat attendu.
Afin d’ajouter une description à une fonction, faites un clic-droit au niveau de la fonction puis sélectionner « Propriétés » :

Entrer à présent une description de votre fonction, puis cliquer sur le bouton « OK » :

Description de requêtes
Parlons en général de l’un des éléments les plus importants. Les requêtes « Power Query », celles qui embarquent les données qui feront l’objet d’analyse plus tard. Décrire une requête consiste en quelque sorte à décrire une table de données, un objet métier : client, fournisseur, ventes, etc.
Cette description est typiquement le type d’information que l’on retrouvera au niveau d’un dictionnaire de données.
Pour associer une description à une requête, faites un clic-droit sur la requête et sélectionner « Propriétés » :

Une fois que la fenêtre s’ouvre, entrer la description de votre table puis cliquer sur OK :

Dans l’exemple ci-dessus il s’agit d’une description d’exemple avec une table fictive.
Commentaires des étapes Power Query (script M)
Le meilleur pour la fin 😊. Les commentaires de script M. Le langage M n’est pas le langage le plus simple à prendre en main. Avoir des commentaires au niveau de vos étapes de transformations vous permettra vraiment de revoir la logique de transformation que vous avez appliqué et pourquoi ?
lorsque vous effectuez une transformation comme « le remplacement d’une valeur par une autre au sein d’une colonne », une nouvelle étape de transformation est générer (en arrière-plan une nouvelle ligne de script M est générée).
Vous retrouvez toutes les étapes appliquées au niveau de la zone correspondante :

Afin de renseigner une description au niveau d’une étape, faites un clic-droit sur l’étape et ensuite cliquer sur « Propriétés » :

Une fois la fenêtre de propriétés ouverte renseigner une description claire et explicite :

Petit conseil au passage, renommer idéalement le nom de l’étape en supprimant les espaces. Ces derniers peuvent alourdir votre script M. En présence d’espace au niveau du nom de l’étape, la chaîne de caractère doit être entre des côtes et avoir un signe « # » en préfixe. Illustration ci-dessous :


Lorsque vous avez un script M qui a des dizaines de lignes, vous voyez tout de suite la différence.
Après avoir renseigné une description pour étape, un bouton apparaît juste à côté du nom de l’étape et permet de vous informer qu’il existe une description associée à cette étape :

Pour les plus curieux, en cliquant sur le bouton « Editeur avancé » vous verrez que cela àjoute des commentaires à votre script M.
Conclusion
Prendre le temps de documenter sa solution peut paraître fastidieux mais vous sera énormément utile lorsque vous reviendrez quelques semaines plus tard sur votre solution pour par exemple la faire évoluer.
Cela permet également aux outils de dictionnaire de données de directement extraire toutes ces métadonnées.
BONUS : vous pouvez télécharger le fichier « pbix » ici. Cela vous fera surement gagner un peu de temps pour votre prochain projet 😉.
Alors documentez vous vos solutions Power Query ? Si oui, jusqu’à qu’elle niveau ? N’hésitez pas à me le dire en commentaires.
Sur ce, je vous dis à bientôt pour de nouvelles aventures !