Vous avez effectué plusieurs étapes appliquées à l’intérieur d’une requête, et vous aimeriez réutiliser ces étapes de transformation sur plusieurs éléments d’une liste ou à plusieurs fichiers ? C’est le moment de créer une fonction. L’utilisation de fonctions sera d’une grande utilité pour rendre vos requêtes dynamiques, on pourrait s’en servir, entre autres, pour paramétrer une procédure stockée.
Bref retour sur la connexion à une procédure stockée
Prenons, par exemple, la connexion à une procédure stockée comme démontré dans notre article suivant : Se connecter à une procédure stockée SQL avec Power Query
Il y est décrit comment exécuter la procédure stockée avec un seul produit. Supposons que mon département s’occupe d’une liste de produits spécifiques. Je veux être en mesure d’utiliser cette liste et la passer en paramètre dans ma procédure stockée et en obtenir le résultat pour tous ces produits.
Voici comment créer la fonction pour paramétrer votre procédure stockée
Première étape – Créer un paramètre
La première étape est de créer un paramètre dans Power Query qui sera utilisé dans notre fonction. Une fonction ne peut pas exister sans paramètre.
Deuxième étape – Insérer le paramètre à l’intérieur de la requête.
On a démontré, dans le précédant article, qu’une fois le paramètre créé, on devra l’insérer dans notre code de la manière suivante: produit (voir la section jaune) étant notre paramètre qui contient un numéro de produit.
À titre de rappel, voici les détails de ce paramètre :
Vous avez des sources de données volumineuses à rassembler et analyser dans Excel ? Apprenez à automatiser tout le processus d’importation, de transformation et de modélisation des données avec nos formations sur Power Query et Power Pivot dans Excel. |
---|
Troisième étape – transformer la requête en fonction
Une fois que notre requête nous donne le résultat souhaité et qu’on y a introduit notre paramètre « produit », on se positionne sur le nom de notre requête dans le panneau des requêtes. On clique droit sur le nom de la requête et on sélectionne « Créer une fonction ».
Une boite va apparaitre nous demandant de nommer la fontion. On va nommer celle-ci f_produit. Lorsque c’est fait, la requête devient liée à cette fonction et une modification de la requête sera également répercutée dans la fonction.
Si vous tentez de modifier la fonction directement, vous obtiendrez ce message vous indiquant que la fonction f_produit sera mise à jour dès que la requête commandeProd_avecParametres est mise à jour :
Quatrième étape – construire la table de produits
Maintenant que notre fonction est prête, nous avons besoin de notre liste de produits pour lesquels on veut obtenir l’information par l’entremise de la procédure stockée.
J’ai donc créé une table à l’intérieur même de Power BI avec l’option du menu accueil « Entrer des données », et inséré les informations suivantes :
- le nom de la colonne : Produit
- chacun des produits désirés : 721, 722, 723
- un nom pour notre table : ListeProduits
Notez qu’il serait également possible de maintenir cette liste dans Excel ou à partir d’une autre source de données connectée à Power Query.
Cinquième étape – Appeler la fonction
On part de notre liste de produits puis à partir du menu «« Ajouter une colonne »» on sélectionne « Appeler une fonction personnalisée ».
La fenêtre suivante apparait :
- Il faut d’abord choisir la fonction à appeler : f_produit (1)
- À ce moment-ci, l’on doit faire le lien entre notre paramètre produit et la colonne Produit de notre table ListeProduits. Il faut sélectionner dans le menu déroulant de gauche l’image représentant une table puis dans le menu de droite, la colonne Produit (2)
- Dans notre exemple, il y a 3 paramètres utilisés dans la requête que nous avons transformée en fonction. Au moment d’appeler la fonction, on nous demande de sélectionner chacune des colonnes à passer dans chacun de ces paramètres. (2)(3)
- Comme nous n’avons pas de colonnes de données à assigner aux paramètres NomServeur et BaseDonnees, nous allons, pour l’instant, écrire le nom de chacun des paramètres comme valeur. Évidemment, le nom du serveur et le nom de la base de données seront les mêmes pour toutes les lignes de la table. C’est pourquoi nous n’assignons par une colonne de données pour ces 2 paramètres.
On obtient donc le code M suivant :
Il faudra enlever les guillemets entourant NomServeur et BaseDonnées pour faire référence aux paramètres du même nom.
Vous verrez alors une table pour chaque produit listé :
À l’aide du menu d’expansion, vous pourrez ouvrir chacune des tables de la façon suivante :
Finalement, on obtiendra les données pour les 3 produits inscrits dans la table ListeProduits.
Lorsque vous aurez saisi toute la portée des fonctions dans Power Query, je parie que vous ne pourrez plus vous en passer !
Fichier d’accompagnement VIP à télécharger
Pour télécharger le fichier utilisé dans ce tutoriel, devenez membre VIP du CFO masqué.
Formation complémentaire
Afin d’explorer les principales fonctions et fonctionnalités de Power Query, qui permet d’importer, de transformer et de fusionner des données de diverses sources et de pouvoir les analyser efficacement, suivez la formation Excel – Introduction à Power Query et au langage M.