Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

V tomto návode preskúmame zaujímavú otázku, ktorá bola nastolená nao tom, ako dynamicky zlúčiť meniaci sa počet stĺpcov v tabuľke Power Query. Celé video tohto návodu si môžete pozrieť v spodnej časti tohto blogu.

Tento scenár sa zaoberá exportom nespracovaných údajov, ktoré spôsobujú rozliatie údajov do neznámeho počtu susedných stĺpcov. Keď sa pozriete na príklad, môžete vidieť, že popis sa prelial do stĺpca 4 a popis 2 bol rozdelený do dvoch susedných stĺpcov. Ale nebude to tak vždy. V ďalšom cykle by sa tento počet stĺpcov mohol zmeniť.

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Skôr než prejdeme k riešeniu, pozrime sa na kód M, ktorý Power Query vygeneruje pri zlúčení stĺpcov.

Obsah

Kód M tabuľky Power Query

Existuje niekoľko spôsobov, ako zlúčiť stĺpce. Jedným z nich je vybrať stĺpec s popisom a stlačiť kláves Shift alebo Ctrl a potom vybrať aj stĺpec 4. Potom kliknite pravým tlačidlom myši a vyberte možnosť Zlúčiť stĺpce .

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Alebo navyberte zlúčiť stĺpce . A zobrazí sa toto dialógové okno, ktoré vám umožní vybrať oddeľovač.

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Vo vyskakovacom okne vyberte Tab a môžete zadať nový názov stĺpca. V tomto prípade som to nazval Popis.

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

V riadku vzorcov vidíme M kód, ktorý tento transformačný krok vytvoril.

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Ak sa riadok vzorcov na obrazovke nezobrazuje, prejdite na kartu Zobraziť a zapnite ju.

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Funkcia, ktorú Power Query používa na zlúčenie stĺpcov, je teda Table.CombinedColumns . Prvým parametrom je tabuľka. Táto tabuľka je vrátená predchádzajúcim krokom v našom kóde, takže v časti Aplikované kroky uvidíte, že sa to nazýva Zdroj .

Potom napevno zakódoval názvy stĺpcov v zozname. Tu vidíte inicializátory zoznamu a medzi hodnotami v texte popis názvu stĺpca a stĺpec 4 s názvom stĺpca. Potom zavolá ďalšiu funkciu M, aby skombinovala textové hodnoty v týchto stĺpcoch.

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

A nakoniec odovzdá nový názov stĺpca ako text, aby sme ho mohli upraviť.

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Ak teda chceme, aby táto funkcia dynamicky zlúčila meniaci sa počet stĺpcov, budeme musieť zmeniť hodnotu druhého parametra, ktorá teraz obsahuje zoznam pevne zakódovaných názvov stĺpcov.

Zlúčenie meniaceho sa počtu stĺpcov v tabuľke Power Query

Vrátim sa späť k môjmu dotazu na nespracované údaje a ak sa bližšie pozrieme na názvy stĺpcov, uvidíme, že každý zo stĺpcov je anonymný. Nemajú vlastné mená, ale všetky začínajú stĺpcom textu, za ktorým nasleduje číslo. Uvidíme, či to môžeme použiť. Najprv vytvorím referenciu kliknutím pravým tlačidlom myši sem a výberom položky Referencia .

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

A na získanie názvov stĺpcov do riadka vzorcov môžem pridať Table.ColumnNames . Táto funkcia vráti zoznam so všetkými názvami stĺpcov z tejto tabuľky. Premeňme to späť na tabuľku kliknutím na To Table .

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

V tomto vyskakovacom okne kliknite na tlačidlo OK.

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Potom na karte Pridať stĺpec vyberiem Formát a potom Orezať .

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Toto nie je transformácia, ktorú chcem vykonať, ale generuje pre mňa väčšinu kódu M. Jediné, čo musím urobiť, je.

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

V riadku vzorcov teda namiesto Text.Trim môžeme povedať if Text.StartsWith a potom ho nasmerovať na náš stĺpec 1 a ja to okamžite skopírujem. Chce to text, ktorý hľadáme, takže to bude stĺpec. Takže ak to začína textovým stĺpcom, potom chceme „null“ – pre všetko ostatné chceme čokoľvek, čo je v stĺpci 1. Tento stĺpec môžeme tiež premenovať, takže v riadku vzorcov ho namiesto Trim nazvime GroupColumn .

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Teraz všetko, čo musíme urobiť, je naplniť ich týmito hodnotami. Takže kliknem pravým tlačidlom myši na hlavičku, vyberiem Vyplniť a Dole .

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Keď teda nabudúce prídu údaje a počet stĺpcov sa zmení, táto skupina ich automaticky vyberie.

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Premenujme tento dotaz, nazvem ho skupiny stĺpcov.

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Uistime sa, že jeho načítanie bolo vypnuté, pretože toto je len podporný dotaz.

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Môžem odkazovať na tento podporný dotaz a neskôr ho premenujem. Nechajme to zatiaľ. Takže ak si pamätáte, začali sme zlúčením dvoch stĺpcov, čím sme vytvorili pevne zakódovaný zoznam s názvami stĺpcov , ale teraz môžeme filtrovať podľa popisu v našom GroupColumn .

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Takže ak urobíme tento filter v popise v stĺpci 1, dostaneme stĺpce, ktoré spĺňajú tieto kritériá.

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Toto je však tabuľka a nie zoznam.pretože tieto stĺpce musíme zahrnúť do našej operácie zlúčenia. Ak to chcete urobiť, môžeme kliknúť pravým tlačidlom myši na hlavičku stĺpca 1 a vybrať položku Rozbaliť .

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

A teraz dostaneme zoznam. Dajme teda tomuto dotazu správny názov ( ListDescr ) a skontrolujme, či je zakázaný pri načítaní.

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Teraz sa môžeme vrátiť k nášmu dotazu na výsledok a nahradiť tu druhý argument naším dynamickým zoznamom. Takže tu môžeme odkazovať na náš ListDescr .

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Zopakujme to aj pre Popis 2. Prejdem na svoj dotaz ColumnGroups. Vytvorím ďalšiu referenciu a vyberiem stĺpce, ktoré potrebujem. Potom vyfiltrujem Popis 2, ktorý vráti tieto tri stĺpce. Pravým tlačidlom myši kliknem na svoju hlavičku a vyberiem možnosť Drill Down a premenujem aj tento dotaz ( ListDescr2 ).

Potom sa vrátim k dotazu na výsledok, vyberiem stĺpec Popis2 a stlačením klávesu Shift alebo Control vyberiete aj ďalší stĺpec (stĺpec2). Kliknem pravým tlačidlom myši na hlavičku a vyberiem si.

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Vo vyskakovacom okne vyberiem Tab ako oddeľovač a nazvem to Popis2.

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query

Len zmením názov stĺpca tu na riadku vzorcov. Zmením aj tento pevne zakódovaný zoznam zo zoznamu, ktorý sme práve vytvorili. A teraz, ako môžete vidieť, sa objavil aj stĺpec 8, ktorý sme predtým vylúčili.

Ako dynamicky zlúčiť stĺpce v tabuľke Power Query




Záver

V tomto blogu som vám ukázal, ako používať M kódy v Power Query na dynamické zlučovanie stĺpcov. Nie je to ťažké, pokiaľ viete, ako funguje Power Query a aké M kódy použiť.

Dúfam, že sa vám to páčilo. Viac súvisiaceho obsahu nájdete na nižšie uvedených odkazoch.

Všetko najlepšie!

Melissa


Vyhledávací pole PowerApps: Jak přidat a přizpůsobit

Vyhledávací pole PowerApps: Jak přidat a přizpůsobit

Naučte se, jak vytvořit vyhledávací pole PowerApps úplně od začátku a přizpůsobit je tak, aby odpovídalo celkovému tématu vaší aplikace.

Příklad SELECTEDVALUE DAX – Výběr kráječe sklizně

Příklad SELECTEDVALUE DAX – Výběr kráječe sklizně

Sklízejte nebo zachycujte hodnotu uvnitř míry a znovu ji použijte v jiném taktu pro dynamické výpočty pomocí SELECTEDVALUE DAX v LuckyTemplates.

Historie verzí v seznamech SharePoint

Historie verzí v seznamech SharePoint

Zjistěte, jak vám historie verzí na SharePointu může pomoci vidět vývoj určitých dat a kolika změn prošla.

Výběr barevných hexadecimálních kódů pro zprávy LuckyTemplates

Výběr barevných hexadecimálních kódů pro zprávy LuckyTemplates

Zde je nástroj pro vytváření sestav a vizuálů, výběr barevných hexadecimálních kódů, který můžete použít ke snadnému získání barev pro vaše sestavy LuckyTemplates.

Dynamický datový výřez v LuckyTemplates pomocí tabulky období

Dynamický datový výřez v LuckyTemplates pomocí tabulky období

Pomocí tabulky období můžete v přehledu snadno zobrazit časové období jako průřez. Použijte M kód k vytvoření dynamického datového výřezu v LuckyTemplates.

Tabulky proporcí a četností v Excelu

Tabulky proporcí a četností v Excelu

Chtěli jsme se ponořit do tabulek četností v Excelu a také do tabulek proporcí. Podívejte se, co to je a kdy je použít.

Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Zistite, ako stiahnuť a nainštalovať DAX Studio a Tabular Editor 3 a ako ich nakonfigurovať na použitie v LuckyTemplates a v Exceli.

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

Tento blog obsahuje vizualizáciu Shape Map pre priestorovú analýzu v LuckyTemplates. Ukážem vám, ako môžete efektívne využiť túto vizualizáciu s jej funkciami a prvkami.

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

V tomto návode predstavujem jedinečný nápad týkajúci sa finančného výkazníctva, ktorý spočíva v prideľovaní výsledkov na vopred určené šablóny tabuliek v rámci LuckyTemplates.

DAX měří v LuckyTemplates pomocí Measure Branching

DAX měří v LuckyTemplates pomocí Measure Branching

Vytvářejte míry DAX v LuckyTemplates pomocí existujících mír nebo vzorců. Tomu říkám technika větvení opatření.