Remarque
Ceci fait partie d'une série d'articles détaillant les solutions envoyées pour le défi Podcast 2316.
Alors que l'interface Power Query est très puissante, ceux qui peuvent aller au-delà de l'interface ont des super pouvoirs. Frank Tonsen a envoyé cette solution. Reprenons au point où les données ressemblent à ceci:

Frank code ensuite un Table.Split, en spécifiant que tous les 5 enregistrements doivent être une nouvelle table.

À partir de là, Table.FromList et plus encore. À ce stade, vous pouvez cliquer sur n'importe quelle cellule du tableau et voir les données de ce tableau. Voici la deuxième cellule du tableau.

Voici le code de Frank:
let Source = Excel.CurrentWorkbook()((Name="UglyData"))(Content), RemovedTotals = Table.RemoveColumns(Source,("Column2", "Column3", "Column4", "Column5", "Column6")), TransposedTable = Table.Transpose(RemovedTotals), PromotedHeaders = Table.PromoteHeaders(TransposedTable, (PromoteAllScalars=true)), SplittedTable = Table.Split(PromotedHeaders,5), TableFromList = Table.FromList(SplittedTable, Splitter.SplitByNothing(), null, null, ExtraValues.Error), AddedColumn1 = Table.AddColumn(TableFromList, "Column2", each Table.PromoteHeaders(Table.Transpose(Table.DemoteHeaders((Column1))))), AddedColumn2 = Table.AddColumn(AddedColumn1, "Column3", each Table.AddColumn((Column2), "Employee", (x) => Table.ColumnNames((Column2))(1))), AddedColumn3 = Table.AddColumn(AddedColumn2, "Column4", each Table.RenameColumns((Column3), (Table.ColumnNames((Column3))(1), "Total"))), Combined = Table.Combine(AddedColumn3(Column4)), ReorderedColumns = Table.ReorderColumns(Combined,("Category Description", "Employee", "Q1", "Q2", "Q3", "Q4", "Total")), ChangedType = Table.TransformColumnTypes(ReorderedColumns,(("Category Description", type text), ("Employee", type text), ("Q1", type number), ("Q2", type number), ("Q3", type number), ("Q4", type number), ("Total", type number))) in ChangedType
Goodly from YouTube a également partagé une vidéo avec une solution M personnalisée pour identifier dynamiquement toutes les colonnes commençant par "Employé". Bien que cela ne fonctionne pas dans la vraie vie lorsque les employés sont nommés Andy, Betty, Charlie, c'est une vidéo cool: https://www.youtube.com/watch?v=xamU5QLNiew.
Revenez à la page principale du défi Podcast 2316.
Lisez l'article suivant de cette série: Power Query: The World of Bill Szysz.