Catatan
Ini adalah salah satu rangkaian artikel yang memperincikan penyelesaian yang dihantar untuk cabaran Podcast 2316.
Setelah mengkaji semua idea yang dihantar dari penonton, saya telah memilih teknik kegemaran saya dari setiap video. Penyelesaian terakhir saya menggunakan langkah-langkah berikut:
- Dapatkan Data, Dari Julat Dinamakan
- Padamkan dua langkah tambahan yang ditambahkan pada Promosikan Header dan Change Type. Ini mengelakkan daripada memecahkan akhiran dari tempat. Terima kasih kepada Jason M, Ondřej Malinský, dan Peter Bartholomew untuk idea ini.
- Tukar
- Promosikan Tajuk
- Buang, Baris Teratas, 5 Baris Teratas. Silap mata yang bagus dari MF Wong.
- Gantikan Q1 dengan _Q1. Ulangi untuk tiga perempat yang lain. Terima kasih Jonathan Cooper.
- Berpisah oleh Pembatas di _. Langkah menakjubkan ini menyimpan nama dalam satu lajur dan memindahkan tempat ke lajur seterusnya. Dicadangkan oleh Fowmy, disempurnakan oleh Jonathan Cooper.
- (Bukan satu langkah!) Jangkau ke Formula Bar dan ganti nama lajur menjadi Pekerja dan Kuartal. Terima kasih Josh Johnson
- Di ruangan Pekerja, ganti apa-apa dengan nol
- Isi Ke Bawah
- Di ruangan Quarter, ubah null menjadi Total. Idea ini dari Michael Karpfen
- Nyahpusing Lajur Lain. Namakan semula Attrib to Category di bar formula
- Tempat Pangsi
- Pindahkan Jumlah Lajur ke Akhir
Inilah kod terakhir saya:
let Source = Excel.CurrentWorkbook()((Name="UglyData"))(Content), #"Transposed Table" = Table.Transpose(Source), #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table", (PromoteAllScalars=true)), #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",(("Category Description", type text), ("Administrative", type number), ("Holiday", Int64.Type), ("PTO/LOA/Jury Duty", Int64.Type), ("Project A", type number), ("Project B", type number), ("Project C", type number))), #"Removed Top Rows" = Table.Skip(#"Changed Type",5), #"Replaced Value" = Table.ReplaceValue(#"Removed Top Rows","Q1","_Q1",Replacer.ReplaceText,("Category Description")), #"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","Q2","_Q2",Replacer.ReplaceText,("Category Description")), #"Replaced Value2" = Table.ReplaceValue(#"Replaced Value1","Q3","_Q3",Replacer.ReplaceText,("Category Description")), #"Replaced Value3" = Table.ReplaceValue(#"Replaced Value2","Q4","_Q4",Replacer.ReplaceText,("Category Description")), #"Split Column by Delimiter" = Table.SplitColumn(#"Replaced Value3", "Category Description", Splitter.SplitTextByDelimiter("_", QuoteStyle.Csv), ("Employee", "Qtr")), #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",(("Employee", type text), ("Qtr", type text))), #"Replaced Value4" = Table.ReplaceValue(#"Changed Type1","",null,Replacer.ReplaceValue,("Employee")), #"Filled Down" = Table.FillDown(#"Replaced Value4",("Employee")), #"Replaced Value5" = Table.ReplaceValue(#"Filled Down",null,"Total",Replacer.ReplaceValue,("Qtr")), #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Replaced Value5", ("Employee", "Qtr"), "Attribute", "Value"), #"Pivoted Column" = Table.Pivot(#"Unpivoted Other Columns", List.Distinct(#"Unpivoted Other Columns"(Qtr)), "Qtr", "Value", List.Sum), #"Reordered Columns" = Table.ReorderColumns(#"Pivoted Column",("Employee", "Attribute", "Q1", "Q2", "Q3", "Q4", "Total")) in #"Reordered Columns"
Semua orang yang disebutkan dalam artikel atau video ini memenangi tampalan Excel Guru. Saya telah menghantar beberapa. Sekiranya anda tidak menerimanya, tinggalkan komen pada video di bawah.

Pemenang keseluruhan ialah Bill Szysz. Penyelesaian empat barisnya menggunakan M memberitahu saya bahawa saya perlu belajar lebih banyak mengenai Power Query! Lihat penyelesaiannya di Power Query: The World of Bill Szysz.
Tonton Video
Berikut adalah video terakhir saya membincangkan penyelesaian dan menunjukkan penyelesaian terakhir.
Kembali ke halaman utama untuk cabaran Podcast 2316.