Ako zduplikovať tabuľku v Power Query

Niekedy potrebujete mať tabuľku v dátovom modeli viackrát. Napr. pri normalizácii dát, pri oprave chýb v dátach, či pre pokročilejšie scenáre ako napr. analýza odpovedí z prieskumov. Užívatelia toto riešia bežne tým spôsobom, že jednoducho naimportujú tú istú tabuľku viackrát. Čo ale v prípade, že ste nad ňou už vykonali nejaké transformácie v Power Query, prípadne ak budete často potrebovať meniť zdrojovú databázu či server? V tom prípade na to budete musieť ísť trochu inak. Preto si teraz pozrieme, ako zduplikovať tabuľku v Power Query.

Ak chcete vo všeobecnosti zduplikovať tabuľku v Power Query, tak máte 2 možnosti – buď spraviť kópiu dotazu, alebo odkaz na dotaz. Obidve možnosti sa nachádzajú v editore Power Query, keď kliknete pravým tlačítkom myši na dotaz, ktorý chcete zduplikovať:

Tá prvá možnosť Duplikovať zduplikuje M skript pôvodného dotazu, a uloží ho do nového dotazu. Vo všeobecnosti nie zrovna dobrá možnosť, pretože ak sa niečo zmení v pôvodnom dotaze, tak v novom sa to neprejaví. A porušuje to dobré zvyky v modelovaní, ktoré hovoria o tom, že by ste mali kopírovať čo najmenej vecí, ideálne žiadne, a všetko v modeli by malo byť zadané iba raz. Kvôli centralizácii vecí a ich lepšej spravovateľnosti do budúcnosti. Preto táto možnosť duplikácie nemá zrovna široké využitie.

Druhá možnosť nazvaná Odkaz je oveľa lepšia možnosť, a z môjho pohľadu by to mala byť preferovaná možnosť. Toto spraví jednoduchý odkaz na pôvodný dotaz, ktorý hovorí o tom, že tento dotaz zoberie výsledok toho prvotného dotazu, a použije ho ako svoj zdroj:

Výhodou tohto prístupu je to, že čokoľvek zmeníte v pôvodnom dotaze, sa automaticky premietne aj do tohto nového dotazu. Čo je super vec, keď pôvodný dotaz už robil nejaké transformácie, a vy si chcete zduplikovať tieto transformované dáta. A zároveň si ponechať flexibilitu v tom, že keď bude potrebné niečo doplniť či opraviť v pôvodnom dotaze, tak sa identické dáta zobrazia aj v duplikovaných dotazoch. V duplikovaných dotazoch však nie ste limitovaní tým, že sa vám spraví kópia dotazu a to je všetko. Technicky to funguje tak, že táto operácia je len skratkovitá funkcia k tomu, že Power Query za vás vytvorilo nový prázdny dotaz v Power Query, a zadalo doňho ako zdroj dát výsledok pôvodného dotazu, ktorý ste dali duplikovať. Tento nový dotaz je však dotaz ako každý iný, a teda aj doňho môžete pridávať hocikoľko ďalších transformácií, koľko len budete potrebovať. A to je na tom tá nádhera – nie ste obmedzovaní ničím okrem vlastnej predstavivosti. A zároveň nerozkopírovávate ten istý M skript x-krát po celom Power Query.

Takto teda viete zduplikovať tabuľku v Power Query. Veľmi jednoduchá technika, avšak s veľmi širokým využitím. Bežne sa využíva v normalizácii dát, pri oprave chýb v dátach, či pri príprave dát pre pokročilejšie scenáre ako napr. analýza odpovedí z prieskumov. A teraz keď viete, ktorú z tých dvoch možností použiť, tak vám už nič nestojí v ceste za lepšími dátami 🙂