Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Ebben az oktatóanyagban egy érdekes kérdést vizsgálunk meg, amely aarról, hogyan lehet dinamikusan egyesíteni változó számú oszlopot egy Power Query táblában. Az oktatóanyag teljes videóját a blog alján tekintheti meg.

Ez a forgatókönyv olyan nyers adatok exportálásával foglalkozik, amelyek miatt az adatok ismeretlen számú szomszédos oszlopba kerülnek. Ha megnézi a példát, láthatja, hogy a leírás átkerült a 4. oszlopba, a 2. leírás pedig két szomszédos oszlopra oszlik. De ez nem lesz mindig így. A következő ciklusban ez az oszlopok száma változhat.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Mielőtt belevágnánk a megoldásba, vizsgáljuk meg az M-kódot, amelyet a Power Query generál az oszlopok egyesítésekor.

Tartalomjegyzék

Power Query Table M kód

Az oszlopok egyesítésének több módja is van. Az egyik, hogy kijelöli a leírás oszlopot, és lenyomja a Shift vagy a Control billentyűt, majd válassza ki a 4. oszlopot is. Ezután kattintson a jobb gombbal, és válassza az Oszlopok egyesítése lehetőséget .

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Vagy alapon válassza ki az oszlopok egyesítését . És megjelenik ez a párbeszédpanel, amely lehetővé teszi az Elválasztó kiválasztását.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Az előugró ablakban válassza a Tab lehetőséget, és megadhat egy új oszlopnevet. Ebben az esetben Leírásnak neveztem el.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

A képletsorban az M kódot látjuk, amelyet ez az átalakítási lépés hozott létre.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Ha a képletsáv nem látható a képernyőn, lépjen a Nézet lapra, és kapcsolja be.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Tehát a Power Query által az oszlopok egyesítésére használt függvény a Table.CombinedColumns . Az első szükséges paraméter egy táblázat. Ezt a táblát a kódunk előző lépése adja vissza, így az Alkalmazott lépésekben látni fogja, hogy ennek neve Forrás .

Ezután keményen kódolta az oszlopneveket egy listában. Itt láthatók a lista inicializálói, valamint a szövegen belüli értékek között az oszlopnév leírása és az oszlopnév 4. oszlopa. Ezután egy másik M függvényt hív meg az oszlopok szövegértékeinek kombinálásához.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Végül pedig szövegként adja át az új oszlopnevet, hogy ezt módosíthassuk.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Tehát ha azt akarjuk, hogy ez a függvény dinamikusan egyesítsen változó számú oszlopot, akkor módosítanunk kell azt a második paraméterértéket, amely most már tartalmazza a keményen kódolt oszlopnevek listáját.

Változó számú oszlop egyesítése egy Power Query-táblázatban

Visszatérek a nyersadat-lekérdezésemhez, és ha közelebbről megnézzük az oszlopneveket, azt látjuk, hogy a kiszóródó oszlopok mindegyike névtelen. Nincs tulajdonnevük, de mindegyik a szövegoszloppal kezdődik, amelyet egy szám követ. Lássuk, tudjuk-e használni. Először is létrehozok egy referenciát a jobb gombbal ide kattintva és a Referencia menüpont kiválasztásával .

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

És hogy az oszlopnevek a képletsoron belül legyenek, hozzáadhatom a Table.ColumnNames elemet . Ez a függvény egy listát ad vissza a tábla összes oszlopnevével. Alakítsuk ezt vissza táblázattá a Táblázathoz gombra kattintva .

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Ebben az előugró ablakban kattintson az OK gombra.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Ezután az Oszlop hozzáadása lapon kiválasztom a Formátum , majd a Vágás elemet .

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Nos, ez nem egy átalakítás, amit szeretnék végrehajtani, de az M kód nagy részét generálja számomra. Csak annyit kell tennem.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Tehát a képletsoron belül a Text.Trim helyett azt mondhatjuk, hogy Text.StartsWith , majd rámutatjuk az 1. oszlopunkra , és azt azonnal bemásolom. Azt a szöveget akarja, amit keresünk, tehát ez lesz az oszlop. Tehát ha szövegoszloppal kezdődik, akkor „null”-ot akarunk – minden másra azt akarjuk, ami az 1. oszlopban van. Az oszlopot át is nevezhetjük, így a képletsorban belül a Trim helyett nevezzük GroupColumn- nak .

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Most már csak annyit kell tennünk, hogy ezeket az értékeket töltsük fel. Ezért jobb gombbal kattintok a fejlécre, és kiválasztom a Kitöltés és a Le lehetőséget .

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Tehát amikor legközelebb adat érkezik, és az oszlopok száma megváltozik, ez a csoport automatikusan felveszi azokat.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Nevezzük át ezt a lekérdezést, nevezzük oszlopcsoportoknak.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Győződjön meg arról, hogy a betöltése le van tiltva, mert ez csak egy támogató lekérdezés.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Hivatkozhatok erre a támogató lekérdezésre, és később átnevezem. Ezt most hagyjuk. Tehát, ha emlékszel, két oszlop összevonásával kezdtük, és ez egy keményen kódolt listát hozott létre az oszlopnevekkel , de most már szűrhetjük a Leírást a GroupColumnunkban .

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Tehát ha ezt a szűrőt az 1. oszlopon belüli Leíráson végezzük, akkor megkapjuk azokat az oszlopokat, amelyek megfelelnek ennek a kritériumnak.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Ez azonban egy táblázat és nem egy lista.mert az összevonási műveletünkbe bele kell foglalnunk azokat az oszlopokat. Ehhez kattintson a jobb gombbal az 1. oszlop fejlécére, és válassza a Drill Down lehetőséget .

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

És most kapunk egy listát. Adjunk tehát ennek a lekérdezésnek egy tulajdonnevet ( ListDescr ), és nézzük meg, hogy le van-e tiltva a betöltéstől.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Most visszaléphetünk az Eredmény lekérdezéshez, és lecserélhetjük a második argumentumot a dinamikus listánkra. Tehát itt hivatkozhatunk a ListDescr- re .

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Ismételjük meg ezt a 2. leírásnál is. Megyek a ColumnGroups lekérdezésemhez. Létrehozok egy másik hivatkozást, és kiválasztom a szükséges oszlopokat. Ezután kiszűröm a 2. leírást, amely ezt a három oszlopot adja vissza. Jobb gombbal kattintok a fejlécre, és kiválasztom a Drill Down menüpontot, és átnevezem ezt a lekérdezést is ( ListDescr2 ).

Ezután visszalépek az Eredmény lekérdezéshez, kiválasztom a Leírás2 oszlopot, és megnyomom a Shift vagy a vezérlőgombot a következő oszlop kiválasztásához (2. oszlop). Jobb gombbal rákattintok a fejlécre, és kiválasztom.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

A felugró ablakban a Tabulátort választom elválasztóként, és ezt Leírás2-nek nevezem.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Csak megváltoztatom az oszlop nevét itt a képletsorban. Ezt a keményen kódolt listát is megváltoztatom az imént létrehozott listáról. És most, amint látja, ez a 8. oszlopot is felvette, amelyet korábban kizártunk.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban




Következtetés

Ebben a blogban megmutattam, hogyan lehet M-kódokat használni a Power Queryben az oszlopok dinamikus egyesítésére. Ez nem nehéz, ha ismeri a Power Query működését és a használandó M kódokat.

Remélem, élvezted ezt. További kapcsolódó tartalmakért tekintse meg az alábbi linkeket.

Minden jót!

Méhfű


PowerApps keresőmező: Hozzáadás és testreszabás

PowerApps keresőmező: Hozzáadás és testreszabás

Ismerje meg, hogyan hozhat létre PowerApps keresőmezőt a semmiből, és hogyan szabhatja testre az alkalmazás általános témájához.

SELECTEDVALUE DAX Példa – Szeletelő kiválasztása

SELECTEDVALUE DAX Példa – Szeletelő kiválasztása

Gyűjtsön be vagy rögzítsen egy értéket egy mértéken belül, hogy újra felhasználja egy másik mértékben a dinamikus számításokhoz a SELECTEDVALUE DAX használatával a LuckyTemplatesben.

Verzióelőzmények a SharePoint-listákban

Verzióelőzmények a SharePoint-listákban

Fedezze fel, hogy a SharePoint verzióelőzményei hogyan segíthetnek áttekinteni egy bizonyos adatok alakulását, és hány módosításon mentek keresztül.

Színes hexadecimális kódválasztó a LuckyTemplates jelentésekhez

Színes hexadecimális kódválasztó a LuckyTemplates jelentésekhez

Itt található egy eszköz jelentések és látványelemek készítéséhez, egy színhexadecimális kódválasztó, amellyel könnyedén lekérheti LuckyTemplates jelentései színeit.

Dinamikus dátumszeletelő a LuckyTemplatesben periódustáblázat használatával

Dinamikus dátumszeletelő a LuckyTemplatesben periódustáblázat használatával

Könnyedén megjeleníthet egy dátumtartományt szeletelőként a jelentésben időszaki táblázat segítségével. Használjon M-kódot a dinamikus dátumszeletelő létrehozásához a LuckyTemplates alkalmazásban.

Arány- és gyakorisági táblázatok Excelben

Arány- és gyakorisági táblázatok Excelben

Az Excel gyakorisági táblázataiban, valamint az aránytáblázatokban készültek. Nos, nézze meg, mik ezek, és mikor kell használni őket.

A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

Ismerje meg, hogyan töltheti le és telepítheti a DAX Studio és a Tabular Editor 3 alkalmazást, és hogyan konfigurálhatja őket a LuckyTemplates és az Excel programban való használatra.

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

Ez a blog tartalmazza a Shape Map vizualizációt a LuckyTemplates térbeli elemzéséhez. Megmutatom, hogyan használhatja hatékonyan ezt a vizualizációt annak funkcióival és elemeivel.

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

Ebben az oktatóanyagban egy egyedülálló ötletet mutatok be a pénzügyi jelentésekkel kapcsolatban, amely az eredmények hozzárendelését jelenti a LuckyTemplates-en belüli táblázatsablonok előre meghatározásához.

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

Hozzon létre DAX-mértékeket a LuckyTemplates alkalmazásban meglévő mértékek vagy képletek használatával. Ezt nevezem mértékelágazási technikának.