Pastaba
Tai vienas iš straipsnių serijos, kuriame pateikiami išsamūs sprendimai, atsiųsti iššūkiui „Podcast 2316“.
Nors „Power Query“ sąsaja yra labai galinga, tie, kurie gali išeiti už sąsajos ribų, turi super galias. Frankas Tonsenas atsiuntė šį sprendimą. Paimkime vietą, kurioje duomenys atrodo taip:

Tada Frankas užkoduoja lentelę. Skirstykite nurodydami, kad kas 5 įrašai turėtų būti nauja lentelė.

Iš ten lentelė. Iš sąrašo ir dar daugiau. Tuo metu galite spustelėti bet kurią lentelės langelį ir pamatyti tos lentelės duomenis. Čia yra antroji lentelės langelis.

Štai Franko kodas:
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“ iš „YouTube“ taip pat pasidalijo vaizdo įrašu su pasirinktiniu „M“ sprendimu, kad dinamiškai identifikuotų visus stulpelius, prasidedančius „Darbuotojas“. Nors realiame gyvenime tai neveiktų, kai darbuotojai būtų pavadinti Andy, Betty, Charlie, tai yra puikus vaizdo įrašas: https://www.youtube.com/watch?v=xamU5QLNiew.
Grįžkite į pagrindinį „Podcast 2316“ iššūkio puslapį.
Perskaitykite kitą šios serijos straipsnį: „Power Query“: Billo Szyszo pasaulis.