Depuis quelques temps, Power BI propose une nouvelle façon de travailler avec les fonctions et les paramètres, plus simple que celle proposée jadis. Cet article vise à vous expliquer en quoi consiste ces nouveautés à partir d’un exemple concret de création de fonctions dans Power Query.
Articles antérieurs en lien avec le présent article
Nous avons déjà publié plusieurs articles par le passé qui porte sur l’élaboration de requêtes de transformations dans Power BI (ou l’équivalent dans Power Query), la création de fonctions et la création de paramètres. Voici quelques-uns de ces articles, que vous voudrez peut-être relire.
Requêtes de transformations dans Power BI:
Power Query: C’est plus que du bonbon! (Démo 1)
Power Query: C’est plus que du bonbon! (Démo 2)
Power Query: Trouver le nombre de jours ouvrables
Création de transformations et de fonctions dans Power BI:
Power Query : Combiner plusieurs fichiers Excel
Power Query: Importer les données météo du site climate.weather.gc.ca
Création de paramètres dans Power BI:
Power Query : Faire pointer vos requêtes vers une nouvelle source de données
Passer des paramètres dans Power Query à l’aide d’un slicer (segment)
Le problème avec l’ancienne façon de créer des fonctions dans Power Query
Avec l’ancienne façon de procéder, il n’était pas possible de voir toutes les étapes de transformation d’une fonction, dans le menu d’édition de requêtes. Pour les voir, il fallait aller dans le code et remplacer les paramètres par de vraies valeurs et retirer les éléments du code qui convertissait la requête en fonction. C’était, avouons-le, utile mais désagréable. À présent, il est possible d’accéder à une requête “exemple” sous-jacente à la fonction et de modifier la fonction à partir de cette requête, tel qu’illustré dans cet article.
Vous devez analyser de grandes quantités de données et les présenter dans des rapports et tableaux de bord, avec des indicateurs de performance pertinents ? Développez vos compétences avec nos formations en Power BI en français ou en anglais. |
---|
Créer une requête sur un seul fichier
Créer les paramètres requis par la fonction dans Power Query
Modifier le code de la requête originale
Créer la nouvelle fonction dans Power Query
Tester la nouvelle fonction dans Power Query
Modifier la requête d’origine et non la fonction de Power Query
Pousser plus loin les modifications de la fonction de Power Query
Comprendre les avantages de cette nouvelle façon de faire
Bonjour,
j’ai un souci quand j’utilise la méthode en chargeant un fichier Excel contenant plusieurs feuilles depuis SharePoint. Par défaut PBI crée une fonction, dans laquelle je n’arrive pas à comprendre où positionner le paramètre contenant le nom des feuilles pour les combiner.
J’ai essayé de dupliquer le paramètre Sample file pour en extraire la liste des feuilles et la transformer en liste que je déclare ensuite dans le paramètre “Feuille” que j’ai créé. Mais ça me crée ensuite une erreur au niveau de la requête combinée.
Merci de vos lumières,
Mélanie
Bonjour Mélanie,
Je ne suis pas certaine de bien comprendre. Vous tentez de combiner plusieurs feuilles d’un fichier Excel et vous souhaitez sélectionner les feuilles à combiner? Est-ce bien ça?
Sophie
Je tente de combiner plusieurs fichiers qui contiennent eux-même plusieurs feuilles ayant la même structure, le tout hébergé sur SharePoint.
J’ai un fichier par année, avec une feuille par mois dans chaque fichier. Et je voudrais charger l’historique des données sur toutes les années et les mois qui sont dans mon dossier.
Merci.
En fait le problème pourrait se résumer au fait que je n’arrive pas à créer de table avec l’adresse du site SharePoint+Nom des fichiers et les noms des feuilles des fichiers. À partir de cette table je devrais pouvoir invoquer la fonction générée automatiquement par PBI.
Mais dès que je développe le Binary qui contient les informations des feuilles, je perds la colonne que j’ai créée avec l’adresse+nom du fichier à l’étape précédente.
Ou alors j’ai complètement loupé un truc :s
Bonjour,
Dans l’exemple donné, quel est l’intérêt de passer par une fonction pour appliquer les transformations sur l’ensemble des fichiers du dossier plutôt que d’appliquer une fois les transformations aprés avoir fait la fusion de tous les fichiers du dossier?
Merci
Bonjour,
Il y a plusieurs avantages mais pour moi, l’avantage principal, c’est pour déboguer les requêtes.
En effet, en créant une fonction et en l’applicant ensuite à un ensemble de fichiers, on pourra voir si la fonction retourne la table espérée pour chacune des sources de données individuellement. Et si par exemple, une ou quelques sources retournaient une erreur, on pourrait aisément faire l’étude de ces sources de données et probablement identifier les problématiques dans les sources de données elles-mêmes.
Au plaisir,
Sophie
Bonjour,
Je ne sais pas si ce que je veux faire est possible.
J’ai un tableau avec plusieurs villes et des factures associées.
Je cherche à faire une extraction ( donc une requete filtrée ) par ville mais qui génère automatiquement à partir de la liste de toutes les villes une requete par ville ( une table pour paris, une pour nantes, etc ).
Je sais faire ça en VBA mais sur power query je cale.
A votre avis, serait-ce possible via une fonction personnalisée ?
D’avance merci 🙂
Bonjour,
Je vous invite à poser votre question sur un de nos forums ici https://www.lecfomasque.com/forums.
Au plaisir,
Sophie
Merci Sophie 🙂