Une fonction pour paramétrer une procédure stockée

Publié le 01 juin 2022
par Kim Leblanc BAA
Procédure stockée avec fonction - Le CFO Masqué

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.

Le CFO masqué - Procédure stockée - Créer fonction

 

À titre de rappel, voici les détails de ce paramètre :

Le CFO masqué - Procédure stockée - Créer fonction

 

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 ».

Le CFO masqué - Procédure stockée - Créer 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 :

Le CFO masqué - Procédure stockée - Créer fonction

 

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

Le CFO masqué - Procédure stockée - Entrer les données

 

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 ».

Le CFO masqué - Procédure stockée - Ajouter une colonne

 

La fenêtre suivante apparait :

Le CFO masqué - Colonne fonction

 

  • 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 :

Le CFO masqué - Procédure stockée - Ajouter une colonne

 

Il faudra enlever les guillemets entourant NomServeur et BaseDonnées pour faire référence aux paramètres du même nom.

Le CFO masqué - Procédure stockée - Ajouter une colonne

 

Vous verrez alors une table pour chaque produit listé :

Le CFO masqué - Développer table

 

À l’aide du menu d’expansion, vous pourrez ouvrir chacune des tables de la façon suivante :

Le CFO masqué - Développer table

 

Finalement, on obtiendra les données pour les 3 produits inscrits dans la table ListeProduits.

Le CFO masqué - Procédure stockée - Résultat

 

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.

 

Voici quelques commentaires d’apprenants ayant suivi cette formation :

Excel – Introduction à Power Query et au langage M
CFO-Masque_Formations-en-ligne_FBLa mission du CFO masqué est de développer les compétences techniques des analystes et des contrôleurs de gestion en informatique décisionnelle avec Excel et Power BI et favoriser l’atteinte de leur plein potentiel, en stimulant leur autonomie, leur curiosité, leur raisonnement logique, leur esprit critique et leur créativité.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut