Vytvoření tabulky data v LuckyTemplates
Zjistěte, proč je důležité mít vyhrazenou tabulku s daty v LuckyTemplates, a naučte se nejrychlejší a nejefektivnější způsob, jak toho dosáhnout.
Obaajsou výkonné nástroje pro manipulaci a analýzu dat v dotazu DAX, ale mají některé klíčové rozdíly, kterým je důležité porozumět.
V tomto blogu si projdeme funkci CALCULATETABLE a její , a pochopíme, jak se liší od funkce FILTER . Na konci budete lépe rozumět tomu, jak vybrat správnou funkci pro vaše potřeby analýzy dat.
K demonstraci použijeme níže uvedený kód DAX.
Když spustíte tento kód, získáte tabulku se značkou a barvou.
Na kartě Plány dotazů získáte kód odpovídající operátoru CrossApply v souboru .
Zároveň můžete vidět, že kód načítá pouze barvu a značku produktu na kartě Časování serveru .
Obsah
Výsledek časování serveru DAX Studio pro CALCULATETABLE
Jako příklad uveďme filtrování barvy produktu tak, aby zobrazovala pouze červenou a/nebo černou.
Můžete tak učinit pomocí funkce FILTER. Když jej spustíte, časování serveru ukáže, že argument FILTER není aplikován na .
Pokud však použijete funkci CALCULATETABLE, dotaz na kartě Časování serveru ukáže, že výsledky byly filtrovány podle barvy produktu.
CALCULATETABLE Plán dotazů v DAX Studio
Podívejme se na plán dotazů pro každou funkci.
CALCULATETABLE je na prvním řádku plánu logického dotazu, protože je to funkce nejvyšší úrovně v kódu, a proto nezávisí na žádných požadavcích.
Když čtete plán dotazů funkce CALCULATETABLE, nezačínáte prvním argumentem. Nejprve musíte pochopit kontext použitého filtru. Pojďme tedy na řádek 5.
Můžete vidět, že operátor vyžaduje sloupec barvy produktu kvůli použitému filtru. Poté prohledá tento sloupec a pomocí kombinace filtru Not IsEmpty zkontroluje barvu produktu proti každému řádku.
Po přípravě kontextu filtru se argument provede.
Při zpětném pohledu, pokud použijete funkci FILTER, uvidíte jiný plán dotazů, takže argument CROSSJOIN se provede před identifikací kontextu filtru.
Nevýhodou tohoto přístupu je, že nepřenáší podmínku filtru na Storage Engine. Nebudete moci použít klauzuli WHERE v xmSQL, což bude klást velkou zátěž na Formula Engine.
A když pracujete s více tabulkami, kombinace filtrů funkce CROSSJOIN bude obrovská. To zpomaluje výkon kódu DAX. Proto se ve většině případů doporučuje použít funkci CALCULATETABLE.
Takže místo provádění všech výpočtů ve Formula Engine můžete podmínku filtru vložit do třídy WHERE kódu XMSQL.
Přechod kontextu pro podobné funkce DAX
Časování serveru
Tento koncept je také použitelný pro funkci CALCULATE. Použijme níže uvedený kód DAX jako příklad.
Míra má kolem sebe automaticky funkci CALCULATE.
Když spustíte tento kód, získáte tabulku zobrazující celkovou částku prodeje pro každou barvu.
Na kartě Časování serveru můžete vidět, že kód provádí dva dotazy. První dotaz vypočítává součet částky prodeje z tabulky Prodej s ohledem na tabulku Produkty.
Na druhou stranu druhý dotaz znovu načte barvu produktu z tabulky Produkty. Odpovídá funkci v kódu DAX.
Formula Engine umístí datové mezipaměti dvou dotazů vedle sebe. Začíná načtením hodnot z druhé mezipaměti dat a poté provede vyhledávání v první mezipaměti dat.
Plán dotazů
Na kartě Plán dotazů Logický plán dotazů naskenuje barvu produktu kvůli argumentu.
Poté VertiPaq sečte celkovou částku prodeje v závislosti na barvě produktu. Provádí kontextový přechod, který převádí hodnotu barvy produktu na ekvivalentní kontext filtru.
Filtr vytvořený kontextovým přechodem je přeložen do vlastnosti DependOnCols v plánu dotazů. Poté, co VertiPaq naskenuje sloupce potřebné k výpočtu celkových prodejů, vynásobí množství prodeje čistou cenou.
Celkové prodeje jsou pak vráceny jako výsledek ve formě datového typu měny. A nakonec ADDCOLUMNS vrátí tabulku se dvěma sloupci obsahujícími barvu a částku celkového prodeje.
Závěr
Plán dotazů může mít významný dopad na výkon dotazu, protože různé plány dotazů mohou mít různé úrovně efektivity.
Při použití funkcí CALCULATETABLE a FILTER v dotazu DAX se plán dotazů může lišit v závislosti na konkrétním scénáři a různých faktorech, jako je například konkrétní použitý výraz vzorce a možnosti dotazovacího stroje.
Obecně je dobré otestovat a porovnat výkon různých plánů dotazů, abyste určili nejúčinnější přístup pro daný scénář.
Vše nejlepší,
Zjistěte, proč je důležité mít vyhrazenou tabulku s daty v LuckyTemplates, a naučte se nejrychlejší a nejefektivnější způsob, jak toho dosáhnout.
Tento stručný návod zdůrazňuje funkci mobilního hlášení LuckyTemplates. Ukážu vám, jak můžete efektivně vytvářet přehledy pro mobily.
V této ukázce LuckyTemplates si projdeme sestavy ukazující profesionální analýzy služeb od firmy, která má více smluv a zákaznických vztahů.
Pozrite si kľúčové aktualizácie pre Power Apps a Power Automate a ich výhody a dôsledky pre platformu Microsoft Power Platform.
Objavte niektoré bežné funkcie SQL, ktoré môžeme použiť, ako napríklad reťazec, dátum a niektoré pokročilé funkcie na spracovanie alebo manipuláciu s údajmi.
V tomto tutoriálu se naučíte, jak vytvořit dokonalou šablonu LuckyTemplates, která je nakonfigurována podle vašich potřeb a preferencí.
V tomto blogu si ukážeme, jak vrstvit parametry pole s malými násobky, abychom vytvořili neuvěřitelně užitečné přehledy a vizuály.
V tomto blogu se dozvíte, jak používat funkce hodnocení LuckyTemplates a vlastní seskupování k segmentaci ukázkových dat a jejich seřazení podle kritérií.
V tomto tutoriálu se budu zabývat konkrétní technikou, jak zobrazit kumulativní součet pouze do určitého data ve vašich vizuálech v LuckyTemplates.
Naučte se vytvářet a přizpůsobovat Bullet grafy v LuckyTemplates, které se používají hlavně pro měření výkonu oproti cílovým nebo předchozím rokům.