Strāvas vaicājums: ārpus lietotāja saskarnes: tabula. Sadalījums un vairāk - Excel padomi

Satura rādītājs

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:

Dati Power Query

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

Tabula. Sadalījums

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.

Tabula. No saraksta

Š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.

Interesanti raksti...