Power Query: onkraj uporabniškega vmesnika: Table.Split in še več - Excel Nasveti

Opomba

To je eden iz serije člankov, ki podrobno opisujejo rešitve, poslane za izziv Podcast 2316.

Čeprav je vmesnik Power Query zelo zmogljiv, imajo tisti, ki lahko presežejo vmesnik, super moči. Frank Tonsen je poslal to rešitev. Poiščimo na mestu, kjer so podatki videti takole:

Podatki v Power Query

Nato Frank kodira Table.Split in določi, da mora biti vsakih 5 zapisov nova tabela.

Tabela.Razdeljena

Od tam, Table.FromList in še več. Takrat lahko kliknete katero koli celico tabele in si ogledate podatke v tej tabeli. Tu je druga celica tabele.

Tabela.Iz seznama

Tu je Frankova koda:

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

Dobro od YouTuba je delil tudi video z M rešitvijo po meri za dinamično prepoznavanje vseh stolpcev, ki se začnejo z "Zaposleni". Čeprav to v resničnem življenju ne bi delovalo, ko zaposlene imenujejo Andy, Betty, Charlie, je kul video: https://www.youtube.com/watch?v=xamU5QLNiew.

Vrnite se na glavno stran izziva Podcast 2316.

Preberite naslednji članek v tej seriji: Power Query: The World of Bill Szysz.

Zanimive Članki...