Teljesítmény lekérdezés: Több azonos fejléc kezelése - Excel tippek

Tartalomjegyzék

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.

Sok oszlop

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.

Átnevezett oszlopok

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:

Táblára konvertálva: Ctrl + T

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.

Használja a fejléceket első sorként

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!

Az asztalom fejlécekkel rendelkezik

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.

Több Q1 fejléc

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:

Törölt lépések

Most, hogy az adatok egyszerűen az 1. sorban vannak, nincs gond sok Q1 nevű oszloppal.

Sok Q1 oszlop

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 ?.

érdekes cikkek...