LuckyTemplates Dax proměnné jsou konstantní: Co to znamená?

Kdykoli jste slyšeli vysvětlení, jak používat proměnné DAX LuckyTemplates, možná jste slyšeli frázi „proměnné jsou konstanty“. Zdá se to jednoduché, ale v těchto slovech je značné množství nuancí a složitosti. V tomto blogu vás provedu tím, co tato fráze znamená, a důsledky pro výpočet vašich opatření. Pochopení těchto pojmů je nezbytné pro zajištění toho, aby vaše opatření přinášela požadované výsledky. Celé video tohoto tutoriálu si můžete prohlédnout ve spodní části tohoto blogu.

Proměnnou v DAX může být skutečně jakýkoli platný výraz DAX. Může to být hodnota, výpočet, míra nebo proměnná, která představuje tabulku, jinou proměnnou nebo nějakou kombinaci těchto věcí.

Proměnná má dvě části. Tady jedeklarace, kde inicializujete proměnnou; dáte tomu jméno a pak hodnotu. Druhým je příkaz RETURN , který pak volá alespoň jednu z vámi deklarovaných proměnných. Není to jako závorka, kde potřebujete mít jeden příkaz RETURN pro každou proměnnou, ale musíte mít alespoň jeden příkaz RETURN, pokud jste deklarovali nějaké proměnné.

Klíčem je zde, jak jsem již řekl, proměnné jsou konstantní. To znamená, že jakmile jsou proměnné přiřazeny k hodnotě, tato hodnota se nemůže změnit před příkazem RETURN .

Obsah

Aplikace proměnných DAX LuckyTemplates na míry

Podívejme se na jednoduchý příklad, kde mám Země a Celkové prodeje. Míra celkového prodeje je pouze naším nejzákladnějším měřítkem, kterým jeřádkového prodeje v tabulce Prodej.

LuckyTemplates Dax proměnné jsou konstantní: Co to znamená?

Řekněme, že chceme získat celkové prodeje za rok 2020. V této sadě dat máme tržby za roky 2019, 2000 a 2021. Abychom získali tržby za rok 2020, musíme použít velmi jednoduchou podmínku filtru, který je. Změníme tedy kontext našeho filtru. Máme naše měření celkových prodejů a naším rokem je rok 2020.

LuckyTemplates Dax proměnné jsou konstantní: Co to znamená?

Pokud toto opatření zahodíme do tabulky, dostaneme přesně to, co očekáváme, což je správné číslo pro rok 2020.

LuckyTemplates Dax proměnné jsou konstantní: Co to znamená?

Nyní, pokud na to chceme použít proměnné, zde je mírně upravená verze předchozího opatření, kde jsem vytvořil proměnnou nazvanou TotSales a nastavil jsem ji na hodnotu rovnající se našemu opatření Total Sales.

LuckyTemplates Dax proměnné jsou konstantní: Co to znamená?

Pokud o tom přemýšlíme z hlediska algebraické substituce, pokud pouze nahradíme to, co bylo dříve naším měřítkem celkového prodeje, za celkový prodej, což se rovná tomuto měřítku celkového prodeje, budete si myslet, že by to mohlo být totéž a produkovat stejné výsledek. Ale když se podíváme a dáme toto měřítko do naší tabulky, uvidíme, že nepřinese stejný výsledek.

LuckyTemplates Dax proměnné jsou konstantní: Co to znamená?

Je deklarována proměnná TotSales, která získá hodnotu celkových prodejů. Řekněme, že jsme na moldavském řádku a tato proměnná má hodnotu 2,35 milionu. Nyní si pamatujte, že hodnota se nemůže změnit, dokud není zavolán příkaz RETURN. Takže, když spočítáme naši míru v proměnné RESULT , máme totSales, což je konstanta 2,35 milionu.

A pak na to použijeme kontext našeho filtru, Dates[Year] se rovná 2020 , ale na tom nezáleží, protože tato konstanta se nemůže změnit. Takže bychom mohli říci, že Data[Rok] se rovná 2019, 2021 a tak dále, stále to bude stejných 2,35 milionu, protože tento TotSales je nyní uzamčen jako konstanta až do RETURN .

A když se vrátí, přejdeme na další řádek a proměnná nabere hodnotu Nizozemska (4,4 milionu). Proces se opakuje a uzamkne to jako konstantu až do příkazu RETURN. Dostáváme přesně to, co máme v měření celkových prodejů, nikoli v měření, které se filtruje až do roku 2020.

A tak si možná říkáte, že to ve skutečnosti nevypadá moc užitečné. V tomto kontextu není. To je ve skutečnosti běžná chyba, když lidé začínají zpočátku používat proměnné . Umístili proměnnou do první části výrazu příkazu CALCULATE. To obvykle nepřinese výsledek, který hledají, protože to uzamkne jako konstantní hodnotu.

Použití proměnných DAX LuckyTemplates v rámci iterátorů

Proměnné opravdu září, když je vložíte do iterátorů. Vysvětlím vám tento případ, který má předchozí hodnotu. Hledáme datum a poté předchozí hodnotu za určitých podmínek.

LuckyTemplates Dax proměnné jsou konstantní: Co to znamená?

Pamatujte, že způsob, jakým jste to museli dělat, než se proměnné dostaly do jazyka DAX, bylo pomocí funkce, která se nazývá. Ale nyní proměnné v tomto kontextu skutečně fungují tak dobře. U proměnných se důrazně doporučuje, abyste již nikdy nepoužívali funkci STARŠÍ.

Podívejme se tedy na složitější příklad, kde máme proměnné spíše v části iterátoru než ve výrazové části. Níže je ve skutečnosti případ z otázky, která se objevila vkde se člen chtěl podívat na každé datum v rozsahu a pak přijít s prvním předchozím datem, které nebylo víkendem nebo svátkem.

LuckyTemplates Dax proměnné jsou konstantní: Co to znamená?

Chci se zaměřit zejména na úterý 15. října jako hlavní příklad. Požadovaným výsledkem bylo podívat se na to datum. V pondělí byl Kolumbův den, tedy svátek, další předchozí dny pak neděle a sobota. A tak datum, které jsme chtěli získat, bylo 11. října, což byl pátek.

Pokud se podíváte na sloupec Předchozí den/Žádný víkend/Žádný svátek, úterý bylo 11. Totéž platilo pro pondělí, neděli a sobotu. To je to, čeho chceme dosáhnout jako výsledek.

Vedle výše uvedené tabulky je míra, kterou jsme použili pro tento případový scénář. Deklarovali jsme proměnnou, která byla vybrána jako datum ( VAR SelDate ), a to bylo právědne. V naší proměnné by to vybralo 15. říjen a pak by to podrželo jako konstantu až do příkazu RETURN.

Potom vyhodnotíme DAX vně. Pokud se podíváme na stav filtru, je to odstraněnífiltry na Dates, a pak je to nastavení řady dalších filtrů. Trvá to konstantní vybrané datum, 15. října, a říká, dej mi všechna data před tím. A pak se z těchto dat ujistěte, že žádné z těchto dat není sobota, neděle nebo svátek. Pak to trváz těch dat, která byla filtrována.

Zde můžete vidět, že vybrat data jako konstantu je jakýsi sázek do země, na kterém se vyhodnocují všechna ostatní data buď před nebo po.

Máme vybrané datum a pak filtrujeme vše, co tomu předchází. Bereme maximum z té filtrované tabulky. A tak to, co dostaneme, je maximum 15., když vezmeme všechny ty ostatní podmínky, ten pátek 11.. Pak, když přejdeme k příkazu RETURN, začne to znovu od dalšího dne, 16. Pokračuje v iteraci tabulkou, dokud se nedostane na konec dat.

Jak můžete vidět v tomto případě, když vložíme proměnné do části iterátoru spíše než do části výrazu, funguje to přesně tak, jak jsme plánovali. Využívá toho, že proměnné jsou konstanty.




Závěr

V tomto blogu jsem vám ukázal, jak aplikovat LuckyTemplatesv taktu a jak to funguje, když jsou proměnné umístěny v iterátorové části taktu.

Doufám, že tyto příklady vysvětlují frázi „proměnné jsou konstantní“, čímž vám poskytnou určitý pohled na to, proč se zdá, že vaše opatření fungují, a někdy ne. Doufám, že vám to poskytne nějaké obecné pochopení toho, co tento důležitý koncept znamená.

Vše nejlepší!


Vytvoření tabulky data v LuckyTemplates

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.

LuckyTemplates Mobile Reporting Tipy a techniky

LuckyTemplates Mobile Reporting Tipy a techniky

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.

Profesionální servisní analytické zprávy v LuckyTemplates

Profesionální servisní analytické zprávy v LuckyTemplates

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

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Pozrite si kľúčové aktualizácie pre Power Apps a Power Automate a ich výhody a dôsledky pre platformu Microsoft Power Platform.

Bežné funkcie SQL: Prehľad

Bežné funkcie SQL: Prehľad

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.

Vytvoření šablony LuckyTemplates: Průvodce a tipy

Vytvoření šablony LuckyTemplates: Průvodce a tipy

V tomto tutoriálu se naučíte, jak vytvořit dokonalou šablonu LuckyTemplates, která je nakonfigurována podle vašich potřeb a preferencí.

Parametry pole a malé násobky v LuckyTemplates

Parametry pole a malé násobky v LuckyTemplates

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.

LuckyTemplates Rank a vlastní seskupení

LuckyTemplates Rank a vlastní seskupení

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

Zobrazení kumulativního součtu pouze do určitého data v LuckyTemplates

Zobrazení kumulativního součtu pouze do určitého data v LuckyTemplates

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.

Bullet Charts: Pokročilé vlastní vizuální prvky pro LuckyTemplates

Bullet Charts: Pokročilé vlastní vizuální prvky pro 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.