Opomba
To je eden iz serije člankov, ki podrobno opisujejo rešitve, poslane za izziv Podcast 2316.
Po preučevanju vseh idej, ki so jih poslali gledalci, sem za vsak video izbral najljubše tehnike. Moja končna rešitev uporablja te korake:
- Pridobite podatke iz imenovanega obsega
- Izbrišite dodatna dva koraka, dodana za promocijo glav in spremembo vrste. To preprečuje lomljenje končnice iz četrtin. Zahvaljujoč se Jasonu M, Ondřeju Malinskýju in Petru Bartholomewu za to idejo.
- Prenesi
- Promovirajte glave
- Odstrani, zgornje vrstice, top 5 vrstic. Lep trik MF Wonga.
- Q1 zamenjajte z _Q1. Ponovite še tri četrtine. Hvala Jonathan Cooper.
- Razdelil delnik na _. Ta neverjeten korak ohranja imena v enem stolpcu in četrtine premakne v naslednji stolpec. Predlagal Fowmy, izpopolnil Jonathan Cooper.
- (Niti koraka!) Pridite v vrstico formule in stolpce preimenujte v Zaposleni in Četrtina. Hvala Josh Johnson
- V stolpcu Zaposleni ničesar ne zamenjajte z nič
- Izpolnite
- V stolpcu Quarter spremenite null na Total. Ta ideja od Michaela Karpfena
- Odstrani druge stolpce. Attrib preimenujte v Kategorija v vrstici s formulami
- Vrtilne četrtine
- Premakni skupni stolpec na konec
Tu je moja zadnja koda:
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"
Vsi, omenjeni v teh člankih ali video posnetkih, zmagajo v popravku programa Excel Guru. Sem jih že poslal nekaj po pošti. Če ga ne prejmete, pustite komentar na spodnjem videoposnetku.

Skupni zmagovalec je Bill Szysz. Njegova štirivrstična rešitev, ki uporablja M, mi pove, da se moram veliko več naučiti o Power Query! Oglejte si njegove rešitve v Power Query: The World of Bill Szysz.
Oglejte si video
Tu je moj zadnji video, ki razpravlja o rešitvah in prikazuje končno rešitev.
Vrnite se na glavno stran izziva Podcast 2316.