Lire l'article
Contexte : j’ai mis plusieurs fichiers ayant la même structure dans un dossier (par exemple des exports de mon CRM, de mon ERP ou d’ailleurs), et j’ai ouvert Power BI, puis « Obtenir les Données » puis « Dossier ».
Mon but est d’avoir une seule requête qui va combiner tous ces fichiers verticalement (les uns en dessous des autres).
J’ai ensuite sélectionné l’option « Combiner et Transformer » et je découvre toute une petite usine à gaz sur la gauche.
C’est le paramètre (la variable) qui permet à Power Query de travailler sur un ensemble de fichiers. Sans lui, impossible de « combiner » les fichiers, c’est-à-dire de les empiler dans une seule requête.
C’est le fichier qui a été pris comme exemple. Par défaut, c’est le premier fichier contenu dans le dossier, mais cela peut être modifié si besoin. Des modifications seront appliquées sur cet exemple de fichier, dans la requête « Transform Sample File (4)».
Conseil = le fichier que vous prenez comme exemple ne doit pas être « différent » des autres, au contraire. Il doit contenir la notion de « plus petit commun multiple » pour être certain que vos traitements puissent être appliqués sur tous les fichiers !
C’est la fonction qui est générée à partir de la requête « Transform Sample File » (4).
Cela signifie que tous les traitements effectués dans cette dernière (accéder à un onglet, utiliser la première ligne comme en-têtes, octroyer un type de données à chaque colonne, etc.) sont mémorisés dans la fonction qui va servir d’ « automate » pour appliquer ces traitements une multitude de fois.
Si cela n’est pas clair, voici la définition que Microsoft donne à une fonction : Si vous vous retrouvez dans une situation où vous avez besoin d’appliquer le même ensemble de transformations à différentes requêtes ou valeurs, la création d’une fonction personnalisée dans Power Query réutilisable autant de fois que nécessaire peut s’avérer bénéfique.
Conseil = Il ne faut jamais casser le lien entre la requête et la fonction qui lui est liée sinon le code de la fonction ne se met plus à jour !
C’est la requête qui sert de modèle, de prototype, et qui est basée sur le fichier d’exemple (sample file). Dans cette requête, les traitements ne sont faits qu’une fois, sur un seul fichier.
Conseil = Si vos fichiers ont exactement la même structure, vous pourriez très bien travailler sur cette requête et pas sur la requête de consolidation (5) ! Ce sera même beaucoup plus rapide avec certaines sources de données.
C’est la requête qui va servir de base de données et qui consolide les fichiers.
A la fin, c’est la seule qui compte, et c’est la seule qui sera chargée dans Power BI Desktop, car c’est elle qui contient l’ensemble des données provenant des différents fichiers !
Techniquement, la fonction (3), qui est elle-même basée sur la requête (4) « Transform Sample File » est appelée sur la liste de tous les fichiers qui sont contenus dans le dossier.
Conseil 1 = Si vos exports ont une structure différente, c’est à cet endroit que vous devrez faire des traitements d’ « harmonisation », par exemple fusionner la colonne [Date] qui provient des fichiers de 2019 et la colonne [Période] qui provient des fichiers de 2020.
Conseil 2 = Pensez à ajouter une « sécurité enfant » avant de combiner vos fichiers, c’est-à-dire faire un filtre pour ne combiner que les fichiers dont l’extension est égal à « .xlsx », ou dont le nom commence par « Export ».
Ce Post était-il clair pour vous ? N’hésitez pas à liker / commenter / partager et vous abonner à mon Profil.
Cet exemple est abordé de manière détaillée pendant la formation Expert chez MYPE, éligible au CPF et en présentiel.