Pastaba
Tai vienas iš straipsnių serijos, kuriame pateikiami išsamūs sprendimai, atsiųsti iššūkiui „Podcast 2316“.
Išnagrinėjęs visas žiūrovų atsiųstas idėjas, iš kiekvieno vaizdo įrašo išsirinkau mėgstamiausias technikas. Mano galutiniame sprendime naudojami šie veiksmai:
- Gauti duomenis iš pavadinto diapazono
- Ištrinkite du papildomus veiksmus, pridėtus prie Reklamuoti antraštes ir Keisti tipą. Tai neleidžia nutraukti galūnės iš ketvirčių. Ačiū Jasonui M, Ondřejui Malinskiui ir Peteriui Bartholomewui už šią idėją.
- Perkelti
- Reklamuoti antraštes
- Pašalinti, viršutinės eilutės, 5 geriausios eilutės. Gražus MF Wongo triukas.
- Q1 pakeiskite _Q1. Pakartokite kitus tris ketvirčius. Ačiū Jonathanui Cooperiui.
- Skirstyti atribotoju ties _. Šis nuostabus žingsnis laiko vardus viename stulpelyje ir perkelia ketvirčius į kitą stulpelį. Pasiūlė Fowmy, tobulino Jonathanas Cooperis.
- (Ne žingsnis!) Pasiekite „Formulės“ juostą ir pervardykite stulpelius į „Darbuotojas“ ir „Kvartalas“. Ačiū Joshui Johnsonui
- Stulpelyje Darbuotojas nieko nepakeiskite nuliu
- Užpildykite
- Stulpelyje Ketvirtis pakeiskite nulį į Visą. Ši Michaelo Karpfeno idėja
- Anuliuoti kitus stulpelius. Formulės juostoje pervardykite atributą į kategoriją
- „Pivot Quarters“
- Perkelti bendrą stulpelį į pabaigą
Čia yra mano galutinis kodas:
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, paminėti šiuose straipsniuose ar vaizdo įrašuose, laimi „Excel Guru“ pataisą. Jau išsiunčiau kelis. Jei jo negavote, palikite komentarą toliau pateiktame vaizdo įraše.

Bendras nugalėtojas yra Billas Szyszas. Jo keturių eilučių sprendimas naudojant „M“ man sako, kad turiu sužinoti daug daugiau apie „Power Query“! Žiūrėkite jo sprendimus „Power Query“: Billo Szyszo pasaulis.
Žiūrėti video
Čia yra mano paskutinis vaizdo įrašas, kuriame aptariami sprendimai ir parodomas galutinis sprendimas.
Grįžkite į pagrindinį „Podcast 2316“ iššūkio puslapį.