Piezīme
Šis ir viens no rakstu sērijas, kurā sīki aprakstīti Podcast 2316 izaicinājumam nosūtītie risinājumi.
Izpētījis visas skatītāju sūtītās idejas, no katra videoklipa esmu izvēlējies iecienītākās tehnikas. Mans galīgais risinājums izmanto šādas darbības:
- Iegūt datus no nosaukta diapazona
- Izdzēsiet divas papildu darbības, kas pievienotas sadaļai Reklāmēt galvenes un Mainīt veidu. Tas novērš nepieciešamību lauzt sufiksu no ceturtdaļām. Paldies Jasonam M, Ondržejam Malinskim un Pēterim Bartolomejam par šo ideju.
- Transponēt
- Reklamēt galvenes
- Noņemt, Augšējās rindas, Top 5 rindas. Jauks triks no MF Wong.
- Aizstājiet Q1 ar _Q1. Atkārtojiet vēl trīs ceturtdaļas. Paldies Džonatanam Kūperam.
- Sadalītājs ar atdalītāju _. Šis apbrīnojamais solis saglabā nosaukumus vienā kolonnā un pārvieto ceturtdaļas uz nākamo kolonnu. Ierosina Fovijs, pilnveido Džonatans Kūpers.
- (Ne soli!) Nokļūstiet Formulas joslā un pārdēvējiet kolonnas par Darbinieks un Ceturksnis. Paldies Džošam Džonsonam
- Kolonnā Darbinieks neko neaizstājiet ar nulli
- Aizpildiet
- Kolonnā Ceturtdaļa nomainiet nulli uz Kopā. Šī ideja no Maikla Karpfena
- Noņemt citu kolonnu pagriezienu. Pārdēvēt atribūtu kategorijai formulu joslā
- Pagrieziena ceturtdaļas
- Pārvietot kolonnu Kopā līdz beigām
Šeit ir mans pēdējais kods:
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"
Visi, kas minēti šajos rakstos vai videoklipos, iegūst Excel Guru ielāpu. Es jau vairākus izsūtīju. Ja tādu nesaņemat, atstājiet komentāru zemāk esošajam videoklipam.
Kopvērtējumā uzvarētājs ir Bils Szyss. Viņa četru līniju risinājums, izmantojot M, man saka, ka man ir jāapgūst daudz vairāk par Power Query! Skatiet viņa risinājumus vietnē Power Query: Bill Szysz pasaule.
Skatīties video
Šeit ir mans pēdējais video, kurā apspriesti risinājumi un parādīts galīgais risinājums.
Atgriezieties uz Podcast 2316 izaicinājuma galveno lapu.