jegyzet
Ez egy olyan cikksorozat, amely a Podcast 2316 kihíváshoz elküldött megoldásokat részletezi.
Eredeti adatalakítási problémám során a folyamat nagyon korai szakaszában belefutottam egy problémába. A bejövő adatok sok oszlopot fognak tartalmazni Q1 címsorral.
![](https://cdn.wiki-base.com/7921226/power_query_dealing_with_multiple_identical_headers_-_excel_tips_2.png.webp)
Megoldásomban létrehoztam egy „UglyData” nevű tartományt, és ezt importáltam a Power Query-be. Ez ahhoz a boldogtalan eredményhez vezetett, hogy a Power Query átnevezte oszlopaimat Q1_1-re.
![](https://cdn.wiki-base.com/7921226/power_query_dealing_with_multiple_identical_headers_-_excel_tips_3.png.webp)
Később, miután elforgattam, csak a bal két karaktert kellett kivonnom ezekből a fejlécekből.
Három külön megoldást találtak erre a problémára:
- Wyn Hopkins és a Demote Headers
- MF Wong, és törölje az Asztalom fejlécek jelölését (szintén Peter Bartholomew javasolja)
- Jason M, és egyszerűen törölje a Promotált fejléceket (Ondřej Malinský és az Excel MVP John MacDougall is javasolja)
Az első újítás Wyn Hopkins volt az Access Analyticnél. Megnevezett tartomány helyett Wyn az adatokat táblázatokká alakította a Ctrl + T billentyűkombinációval. Ezen a ponton a címsorok károsodása következett be, mivel az Excel a címsorokat a következőkké alakította:
![](https://cdn.wiki-base.com/7921226/power_query_dealing_with_multiple_identical_headers_-_excel_tips_4.png.webp)
Miután Wyn bevitte az adatokat a Power Querybe, megnyitotta az Első sor használata fejlécként legördülő menüt, és a Fejlécek használata első sorként lehetőséget választotta. Soha nem vettem észre, hogy ez ott van. Létrehoz egy Table.DemoteHeaders nevű lépést.
![](https://cdn.wiki-base.com/7921226/power_query_dealing_with_multiple_identical_headers_-_excel_tips_5.png.webp)
De Wyn javulása ellenére is később ki kell nyernie az első 2 karaktert ezekből a fejlécekből.
A második újítás az MF Wong technikája. Amikor létrehozta az asztalt, kijelölte az Asztalom fejlécek lehetőséget!
![](https://cdn.wiki-base.com/7921226/power_query_dealing_with_multiple_identical_headers_-_excel_tips_6.png.webp)
Ez biztosítja, hogy az Excel egyedül hagyja a több Q1 fejlécet, és később nincs szükség az extra utótag kibontására.
![](https://cdn.wiki-base.com/7921226/power_query_dealing_with_multiple_identical_headers_-_excel_tips_7.png.webp)
Megértem, hogy vannak emberek az „Szeretem az asztalokat” táborban. MF Wong videója bemutatta, hogyan tud új alkalmazottakat felvenni az adatok jobb oldalán, és a táblázat automatikusan kibővül. Nagyon sok jó oka van a táblázatok használatának.
De mivel szeretem a részösszegeket, az egyéni nézeteket és a szűrést a kiválasztás alapján, hajlamos vagyok nem használni a Táblázatokat. Nagyra értékelem Jason M. megoldását. Az adatokat az UglyData megnevezett tartományaként tartotta meg. Amint importálta az adatokat a Power Querybe, törölte a következő két lépést:
![](https://cdn.wiki-base.com/7921226/power_query_dealing_with_multiple_identical_headers_-_excel_tips_8.png.webp)
Most, hogy az adatok egyszerűen az 1. sorban vannak, nincs gond sok Q1 nevű oszloppal.
![](https://cdn.wiki-base.com/7921226/power_query_dealing_with_multiple_identical_headers_-_excel_tips_9.png.webp)
Itt van Wyn Hopkin kódja, amely a DemotedHeaders címet mutatja:
let Source = Excel.CurrentWorkbook()((Name="Table1"))(Content), #"Demoted Headers1" = Table.DemoteHeaders(Source), #"Transposed Table1" = Table.Transpose(#"Demoted Headers1"), #"Added Custom" = Table.AddColumn(#"Transposed Table1", "Custom", each if Text.Start((Column1),1) = "Q" then null else (Column1)), #"Filled Down" = Table.FillDown(#"Added Custom",("Custom")), #"Filtered Rows" = Table.SelectRows(#"Filled Down", each ((Custom) "Dept. Total")), #"Filtered Rows1" = Table.SelectRows(#"Filtered Rows", each not Text.StartsWith((Column1), "Employee")), #"Promoted Headers" = Table.PromoteHeaders(#"Filtered Rows1", (PromoteAllScalars=true)), #"Extracted First Characters" = Table.TransformColumns(#"Promoted Headers", (("Category Description", each Text.Start(_, 2), type text))), #"Reordered Columns" = Table.ReorderColumns(#"Extracted First Characters",("Category Description_1", "Category Description", "Administrative", "Holiday", "PTO/LOA/Jury Duty", "Project A", "Project B", "Project C")), #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Reordered Columns", ("Category Description_1", "Category Description"), "Attribute", "Value"), #"Reordered Columns1" = Table.ReorderColumns(#"Unpivoted Other Columns",("Category Description_1", "Attribute", "Category Description", "Value")), #"Pivoted Column" = Table.Pivot(#"Reordered Columns1", List.Distinct(#"Reordered Columns1"(#"Category Description")), "Category Description", "Value", List.Sum), #"Reordered Columns2" = Table.ReorderColumns(#"Pivoted Column",("Attribute", "Category Description_1", "Q1", "Q2", "Q3", "Q4")), #"Renamed Columns" = Table.RenameColumns(#"Reordered Columns2",(("Attribute", "Cat Deasc"), ("Category Description_1", "Emp Name"))), #"Changed Type" = Table.TransformColumnTypes(#"Renamed Columns",(("Emp Name", type text), ("Q1", Int64.Type), ("Q2", Int64.Type), ("Q3", Int64.Type), ("Q4", Int64.Type))), #"Inserted Sum" = Table.AddColumn(#"Changed Type", "Total", each List.Sum(((Q1), (Q2), (Q3), (Q4))), Int64.Type) in #"Inserted Sum"
Térjen vissza a Podcast 2316 kihívás főoldalára.
Olvassa el a sorozat következő cikkét: Power Query: Törölje ezt, törölje azokat, vagy ne töröljön semmit ?.