Sur les forums Developpez.net et MSDN une question apparait souvent sur Power Query : Comment puis je importer les données d’un dossier et les métas données de ses différents fichiers ?
Exemple
Pour mieux comprendre, prenons un exemple : Un utilisateur souhaite analyser des logs qu’il reçoit journalièrement. Pour ce faire, il ouvre Excel 2013 et dans l’onglet Power Query -> Get External Data From File -> From Folder, il renseigne le dossier ou les logs sont stockés :
Il obtient les meta données des différents fichiers de log :
- En cliquant sur “Binary” d’une ligne, il ouvre le fichier et peut travailler sur ses données.
- En cliquant sur l’icône à côté du titre de la colonne “Content”, il ouvre les fichiers du dossier, les combine en un seul set et peut travailler sur l’ensemble de ses données.
Voici les données combinées :
Problème : Chaque ligne possède un champ de type Time, mais ne possède pas de champs Date. Celui-ci est disponible dans le nom de chacun des fichiers 😮
Solution
Revenons en arrière et supprimons les métas donnés non nécessaires :
Ajouter une nouvelle colonne personnalisée :
Voici le code M complet :
let Source = Folder.Files("C:\Users\Romain Casteres\Desktop\Article\DATA"), RemovedOtherColumns = Table.SelectColumns(Source,{"Content", "Name"}), InsertedCustom = Table.AddColumn(RemovedOtherColumns, "Custom", each Table.FromColumns({Lines.FromBinary([Content])})), #"Expand Custom" = Table.ExpandTableColumn(InsertedCustom, "Custom", {"Column1"}, {"Custom.Column1"}) in #"Expand Custom"
Même principe pour des fichiers CSV
Prenons l’exemple d’un utilisateur qui reçoit des fichiers CSV de ses filiales contenant le montant de ses ventes par dates. Le nom de chaque filiale n’apparait pas dans le fichier, mais dans son nom !
Télécharger Power Query Télécharger le fichier Excel d’exemple Aide Power Query
Comments are closed.