Power Query – Combiner des feuilles Excel


Nous avons vu dans un article précédent comment agréger des fichiers csv, aujourd’hui nous allons voir comment agréger les feuilles de plusieurs fichiers Excel stockées dans un dossier.

Si ce n’est déjà fait, vous pouvez télécharger les fichiers sources sur le site de l’excellent  livre M is for (Data) Monkey écrit par Ken Puls et Miguel Escobar  dont nous nous sommes inspiré Télécharger les fichiers pour écrire ce post.

  • Obtenir les données –> Autres –> Dossier
  • Sélectionnez le dossier Ch05 Examples
  • Cliquez sur Ok
  • Cliquez sur modifier

Power Query nous retourne une Table contenant les fichiers binaires dans la premières colonne, ainsi que des informations 

Lorsque l’on analyse cette table, on se rend compte que Power Query nous a retourné, l’ensemble des fichiers du dossier.

Nous devons donc filtrer la table (par extension, ou ici en écartant les fichiers autres que Workbook1 et Workbook2)

Ceci fait, nous pouvons supprimer les colonnes autres que [Name] et [Content], le résultat davant ressembler à ceci :

 

 

A partir de la, nous pouvons développer le contenu en cliquant sur les deux flèches.

 

 

Power Query a récupéré différents objets contenant des données : des feuilles Excel et des tables, il nous demande de choisir le type d’objet à extraire.

Choisissons les feuilles.

Les données ont bien été fusionnées, par contre cette solution présente un inconvénient, car nous perdrons le nom du fichier, et donc notre colonne Date.

 

Pour régler ce soucis revenons en arrière, à nos deux colonnes [Name] et [Content], puis ajoutons une nouvelle colonne personnalisée et renseignons la barre de formule avec cette fonction :

  • =Excel.Workbook([Content])

Cette fonction transforme chaque binaire en Table

Un clic à coté de ‘Table’ et nous avons un aperçu du contenu.

 

Nous avons bien notre nom de fichier.

Nous pouvons désormais supprimer la colonne [Content] devenue inutile, et développer [Personnalisé].

Une fois encore, Power Query a récupéré les objets Feuilles Excel et Tables, les données sont donc en double.

Il nous suffit d’effectuer un filtre sur la colonne [Kind] pour ne sélectionner que les objets Feuille Excel (Sheet).

Nous pouvons alors supprimer les colonnes inutiles, avant de développer la colonne Data.

Nos trois feuilles Excel ont bien été agrégées par Power Query et le nom du fichier reporté sur chaque ligne, ce qui vous permet de réaliser les transformations d’usage vues dans les articles précédents.

Laissez un commentaire

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