Power Query Transposer plusieurs Tables avec Power Query

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

chermiti

XLDnaute Occasionnel
Bonjour le forum,

Je dispose d’une liste de fichiers Excel contenant des données structurées de manière similaire. (Exemple 1 ;2;3) en PJ
Chaque entité peut avoir plusieurs codes, ce qui fait que le nombre de colonnes n’est pas identique d'un fichier à l'autre.

Mon objectif est de transposer et consolider l’ensemble des données dans un tableau récapitulatif unique avec Power Query (Résultat souhaité en PJ), afin de pouvoir filtrer facilement par entité et analyser les informations.Plus de détail en PJ

Merci d’avance pour votre aide.
 

Pièces jointes

Solution
Re-,
Dans l'onglet "Paramètres", tu mets en A2 le répertoire contenant les fichiers.
Le filtre sur les onglets concernés s'effectue dans cette ligne :
PowerQuery:
Choix = Table.TransformColumns(Source, {{"Content", each Table.SelectRows(Excel.Workbook(_),each [Name]="Account Data")[[Data]]}}),
Bonjour,
Partant des principes :
- Dans le répertoire, que des fichiers à importer
- Tous les fichiers ont bien 51 lignes (nb de colonnes indifférent)
- Les onglets sont bien nommés "Account Data"

Tu peux essayer ainsi (adresse du répertoire à modifier dans la ligne "Source")

PowerQuery:
let
    Source = Folder.Files("D:\doc\Excel\exemples\PQ\chermiti\Transpose")[[Content]],
    Choix = Table.TransformColumns(Source, {{"Content", each Table.SelectRows(Excel.Workbook(_),each [Name]="Account Data")[[Data]]}}),
    Expand = Table.ExpandTableColumn(Choix, "Content", {"Data"}, {"Data"}),
    ListCols = List.Buffer(Expand[Data]{0}[Column1]),
    Transform = Table.TransformColumns(Expand,{{"Data", each Table.PromoteHeaders(Table.Transpose(_))}}),
    Final = Table.ExpandTableColumn(Transform, "Data", ListCols)
in
    Final

Bonne apm
 
Bonjour,
Partant des principes :
- Dans le répertoire, que des fichiers à importer
- Tous les fichiers ont bien 51 lignes (nb de colonnes indifférent)
- Les onglets sont bien nommés "Account Data"

Tu peux essayer ainsi (adresse du répertoire à modifier dans la ligne "Source")

PowerQuery:
let
    Source = Folder.Files("D:\doc\Excel\exemples\PQ\chermiti\Transpose")[[Content]],
    Choix = Table.TransformColumns(Source, {{"Content", each Table.SelectRows(Excel.Workbook(_),each [Name]="Account Data")[[Data]]}}),
    Expand = Table.ExpandTableColumn(Choix, "Content", {"Data"}, {"Data"}),
    ListCols = List.Buffer(Expand[Data]{0}[Column1]),
    Transform = Table.TransformColumns(Expand,{{"Data", each Table.PromoteHeaders(Table.Transpose(_))}}),
    Final = Table.ExpandTableColumn(Transform, "Data", ListCols)
in
    Final

Bonne apm
Merci pour votre retour , je conforme les données suivantes
- Tous les fichiers ont bien 51 lignes (nb de colonnes indifférent)
- Les onglets sont bien nommés "Account Data"
- j'ai renommé les tables avec Name Manager "_1", mais je n'arrive pas à avoir le résutat souhaité, est t'il possible s'il vous plait d'inclure le M code dans un fichier excel
 
Re-,
Dans l'onglet "Paramètres", tu mets en A2 le répertoire contenant les fichiers.
Le filtre sur les onglets concernés s'effectue dans cette ligne :
PowerQuery:
Choix = Table.TransformColumns(Source, {{"Content", each Table.SelectRows(Excel.Workbook(_),each [Name]="Account Data")[[Data]]}}),
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour