Примітка
Це одна із серії статей, що детально описують рішення, спрямовані на виклик Podcast 2316.
Хоча інтерфейс Power Query дуже потужний, ті, хто може вийти за межі інтерфейсу, мають надмірну силу. Френк Тонсен надіслав це рішення. Давайте підберемо в точці, де дані виглядають так:

Потім Френк кодує Table.Split, вказуючи, що кожні 5 записів мають бути новою таблицею.

Звідти Table.FromList та багато іншого. На цьому етапі ви можете натиснути будь-яку комірку таблиці і переглянути дані в цій таблиці. Ось друга комірка таблиці.

Ось код Франка:
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
Добре від YouTube також поділився відеозаписом із власним рішенням M, щоб динамічно ідентифікувати всі стовпці, які починаються з "Працівник". Хоча це не спрацювало б у реальному житті, коли працівників називають Енді, Бетті, Чарлі, це круте відео: https://www.youtube.com/watch?v=xamU5QLNiew
Поверніться на головну сторінку завдання Podcast 2316.
Прочитайте наступну статтю з цієї серії: Power Query: Світ Білла Шиша.