Piezīme
Šis ir viens no rakstu sērijas, kurā sīki aprakstīti Podcast 2316 izaicinājumam nosūtītie risinājumi.
Lai gan Power Query interfeiss ir ļoti spēcīgs, tiem, kas var pārsniegt interfeisu, ir super pilnvaras. Frenks Tonsens nosūtīja šo risinājumu. Paņemsim vietā, kur dati izskatās šādi:

Pēc tam Frenks kodē tabulu. Sadalījums, norādot, ka ik pēc 5 ierakstiem jābūt jaunai tabulai.

No turienes, Table.FromList un vairāk. Tajā brīdī jūs varat noklikšķināt uz jebkuras tabulas šūnas un skatīt datus šajā tabulā. Šeit ir otrā tabulas šūna.

Šeit ir Franka kods:
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
Labi no YouTube arī kopīgoja videoklipu ar pielāgotu M risinājumu, lai dinamiski identificētu visas kolonnas, kas sākas ar “Employee”. Kaut arī reālajā dzīvē tas nedarbotos, ja darbiniekus sauc par Endiju, Betiju, Čārliju, tas ir foršs video: https://www.youtube.com/watch?v=xamU5QLNiew.
Atgriezieties uz Podcast 2316 izaicinājuma galveno lapu.
Lasiet nākamo šīs sērijas rakstu: Power Query: Bill Szysz pasaule.