Power Query: buiten de gebruikersinterface: Table.Split en meer - Excel-tips

Opmerking

Dit is een van een reeks artikelen over oplossingen die zijn ingezonden voor de Podcast 2316-uitdaging.

Hoewel de Power Query-interface erg krachtig is, hebben degenen die verder kunnen gaan dan de interface superkrachten. Frank Tonsen stuurde deze oplossing. Laten we verdergaan op het punt waar de gegevens er als volgt uitzien:

Gegevens in Power Query

Frank codeert vervolgens een Table.Split, waarbij hij specificeert dat elke 5 records een nieuwe tabel moeten zijn.

Tafel.Split

Van daaruit Table.FromList en meer. Op dat moment kunt u op een willekeurige tabelcel klikken en de gegevens in die tabel bekijken. Hier is de tweede tabelcel.

Table.FromList

Hier is de code van 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 van YouTube heeft ook een video gedeeld met een aangepaste M-oplossing om dynamisch alle kolommen te identificeren die beginnen met "Werknemer". Hoewel dit in het echte leven niet zou werken als werknemers Andy, Betty, Charlie heten, is het een coole video: https://www.youtube.com/watch?v=xamU5QLNiew.

Keer terug naar de hoofdpagina voor de Podcast 2316-uitdaging.

Lees het volgende artikel in deze serie: Power Query: The World of Bill Szysz.

Interessante artikelen...