Funkce UNION DAX versus Power Query

V tomto tutoriálu se naučíte používat funkci UNION. Tento tutoriál porovná výkon funkce UNION oproti jiným technikám pro kombinování tabulek.

TheFunkce kombinuje dvě tabulky do jediné tabulky zkombinováním jejich řádků a odstraněním všech duplicitních řádků.

Příkladem v tomto kurzu je tabulka Prodeje, která byla rozdělena do tří tabulek pro každý rok (2007, 2008, 2009).

Obsah

Funkce UNION v jazyce DAX

Otevřete a spusťte Plán časování serveru a dotazů.

Funkce UNION DAX versus Power Query

Jako příklad je použit kód DAX níže:

Funkce UNION DAX versus Power Query

Po spuštění kódu přejděte na kartu Časování serveru . Můžete vidět, že spuštění kódu trvá celkem 5,4 sekundy. Většina exekučního času byla strávena v . Každý z těchto tří dotazů obsahuje stejnou operaci, ale roky se liší.

Funkce UNION DAX versus Power Query

Poté, co Storage Engine vrátí tyto tři dotazy, provede modul UNION, který lze vidět v plánu logických dotazů. Plán dotazů také provádí výpočet celkového prodeje.

Funkce UNION DAX versus Power Query

V plánu fyzických dotazů můžete vidět tři datové mezipaměti obsahující operace provedené pro každý rok v tabulce Prodej.

Funkce UNION DAX versus Power Query

Porovnání výkonu DAX

Chcete-li vytvořit srovnání, vytvořte míru pro celkový prodej pomocí původní tabulky Prodeje.

Funkce UNION DAX versus Power Query

Pokud tento kód spustíte a přejdete na kartu Časování serveru , uvidíte, že je to výrazně efektivnější než funkce UNION.

Funkce UNION spotřebuje 97,9 kilobajtů, zatímco nová míra spotřebuje pouze 1 kB.

Funkce UNION DAX versus Power Query

Když používáte UNION, DAX Engine vrací velké množství datové mezipaměti zpět do Formula Engine. To vytváří velký tlak na RAM.

Pokud tedy pracujete s datovým modelem obsahujícím více než milion řádků, nedoporučuje se používat funkci UNION

Alternativy funkcí UNION DAX

Místo použití UNION můžete pro tento příklad použít tři funkce SUMX. Tedy jedna funkce SUMX pro každý rok.

Funkce UNION DAX versus Power Query

Když spustíte tento kód a přejdete na kartu Časování serveru, můžete vidět, že doba provádění je výrazně nižší. Z 5 400 ms na 33 ms se stále prováděly tři různé dotazy.

Funkce UNION DAX versus Power Query

Dalším způsobem je připojit tabulku datového modelu v Power Query nebo v samotném zdroji dat.

Ale nejlepší možností je vytvořit tabulku, která provede spojení těchto tří tabulek. Tato možnost má ale svá pro a proti.

Použití vypočítané tabulky umožňuje ušetřit celkový čas zpracování oproti provádění připojení v Power Query. To však způsobí zvýšení velikosti databáze ve VertiPaq.

Když použijete vypočítanou tabulku, vytváříte novou tabulku, která kombinuje tyto tři tabulky. Tyto tři rozdělené tabulky však zůstanou v databázi i nadále.

Funkce UNION DAX versus Power Query

V tomto příkladu spotřebují tyto tři tabulky celkem 25 MB. Pokud vytvoříte vypočítanou tabulku, spotřebuje dalších 25 MB ve vaší paměti RAM.

U citlivých případů, jako jsou tyto, musíte učinit kvalifikované rozhodnutí o tom, jaký by byl nejlepší postup.

Závěr

Funkce UNION v jazyce DAX kombinuje dvě tabulky do jedné, což usnadňuje analýzu dat. Funguje tak, že jako vstup vezme dvě tabulky a vrátí novou tabulku, která obsahuje všechny řádky z obou vstupních tabulek. Tato funkce má však svá omezení.

Funkce UNION může být pomalejší než jiné metody kombinování dat, zejména pokud jsou vstupní tabulky velké. Může také spotřebovat více místa v úložišti na rozdíl od jiných alternativ.

Kdykoli situace vyžaduje kombinaci tabulek, je důležité nejprve zvážit pro a proti, než se rozhodnete použít funkci UNION. Mezi vaše alternativy patří funkce SUMX, tabulka datového modelu nebo vypočítaná tabulka.

Vše nejlepší,


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

Najvýkonnejšie volanie funkcie v LuckyTemplates

Najvýkonnejšie volanie funkcie v LuckyTemplates

V tomto blogu preskúmajte množinu údajov LuckyTemplates, najvýkonnejšie volanie funkcií, ktoré vám prináša tisíce funkcií M a DAX na dosah ruky.

Techniky modelovania údajov na organizáciu opatrení DAX

Techniky modelovania údajov na organizáciu opatrení DAX

V dnešnom návode sa podelím o niekoľko techník modelovania údajov o tom, ako lepšie usporiadať vaše merania DAX pre efektívnejší pracovný tok.

LuckyTemplates Financial Dashboard: Kompletné tipy na prispôsobenie tabuľky

LuckyTemplates Financial Dashboard: Kompletné tipy na prispôsobenie tabuľky

LuckyTemplates je skvelý nástroj pre finančné výkazníctvo. Tu je návod, ako vytvoriť prispôsobené tabuľky pre váš finančný dashboard LuckyTemplates.

Osvedčené postupy toku jazyka Power Query

Osvedčené postupy toku jazyka Power Query

V tomto návode sa bude diskutovať o toku jazyka Power Query a o tom, ako môže pomôcť vytvoriť hladkú a efektívnu zostavu údajov.

LuckyTemplates vlastní ikony | Vizualizační technika PBI

LuckyTemplates vlastní ikony | Vizualizační technika PBI

Budu diskutovat o jedné z mých oblíbených technik kolem vlastních ikon LuckyTemplates, která používá vlastní ikony dynamickým způsobem ve vizuálech LuckyTemplates.

Vytváření tabulek LuckyTemplates pomocí funkce UNION & ROW

Vytváření tabulek LuckyTemplates pomocí funkce UNION & ROW

V tomto blogu vám ukážu, jak můžete vytvořit tabulky LuckyTemplates pomocí vzorce, který kombinuje funkci UNION a funkci ROW.