Power Query: Dincolo de interfața cu utilizatorul: Table.Split și multe altele - Sfaturi Excel

Notă

Acesta este unul dintr-o serie de articole care detaliază soluțiile trimise pentru provocarea Podcast 2316.

În timp ce interfața Power Query este foarte puternică, cei care pot merge dincolo de interfață au super puteri. Frank Tonsen a trimis această soluție. Să luăm în considerare punctul în care datele arată astfel:

Date în Power Query

Frank codifică apoi un Table.Split, specificând că la fiecare 5 înregistrări ar trebui să fie un nou tabel.

Tabel.Split

De acolo, Table.FromList și multe altele. În acel moment, puteți face clic pe orice celulă de tabel și puteți vedea datele din acel tabel. Iată a doua celulă din tabel.

Table.FromList

Iată codul lui 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 distribuit, de asemenea, un videoclip cu o soluție M personalizată pentru a identifica dinamic toate coloanele care încep cu „Angajat”. Deși acest lucru nu ar funcționa în viața reală atunci când angajații sunt numiți Andy, Betty, Charlie, este un videoclip grozav: https://www.youtube.com/watch?v=xamU5QLNiew.

Reveniți la pagina principală pentru provocarea Podcast 2316.

Citiți următorul articol din această serie: Power Query: The World of Bill Szysz.

Articole interesante...