Nota
Questo è uno di una serie di articoli che descrivono in dettaglio le soluzioni inviate per la sfida Podcast 2316.
Mentre l'interfaccia di Power Query è molto potente, coloro che possono andare oltre l'interfaccia hanno dei super poteri. Frank Tonsen ha inviato questa soluzione. Riprendiamo dal punto in cui i dati hanno questo aspetto:

Frank quindi codifica un Table.Split, specificando che ogni 5 record dovrebbe essere una nuova tabella.

Da lì, Table.FromList e altro ancora. A quel punto, puoi fare clic su qualsiasi cella della tabella e vedere i dati in quella tabella. Ecco la seconda cella della tabella.

Ecco il codice di 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 ha anche condiviso un video con una soluzione M personalizzata per identificare dinamicamente tutte le colonne che iniziano con "Employee". Anche se questo non funzionerebbe nella vita reale quando i dipendenti si chiamano Andy, Betty, Charlie, è un bel video: https://www.youtube.com/watch?v=xamU5QLNiew.
Torna alla pagina principale per la sfida Podcast 2316.
Leggi il prossimo articolo di questa serie: Power Query: The World of Bill Szysz.