Informácie o funkcii CALCULATE

Dokončené

Po skončení tejto lekcie budete mať silné znalosti o tom, ako je funkcia CALCULATE jednou z najvšestrannejších funkcií služby Power BI.

Na vyššej úrovni máte kontrolu nad kontextom riadka a filtra. Pomocou funkcie CALCULATE môžete pridávať filtre, vyzlievať ich a aktualizovať. To je veľa sily v jednej funkcii!

Pridanie filtra pomocou funkcie CALCULATE

Najskôr sa naučíte, ako pridať filter pomocou funkcie CALCULATE.

Tabuľka údajov, na ktorú sa bude odkazovať pri pridávaní filtra pomocou funkcie CALCULATE.

Máte celkový predaj v predchádzajúcej tabuľke údajov:

Total Sales = SUM( [Sales Amount] )

Máte aj filtrovanú verziu celkového predaja, kde vyhodnocujete celkový predaj a používate kontext filtra v lietadle:

Airplane Sales = CALCULATE( [Total Sales], 'Product Details'[ItemGroup] = "Airplane" )

Tip

CORRELATING TO TABLEAU: Nasledujúci úryvok kódu ukazuje, ako by ste v tableau mohli vykonať rovnaký výpočet: Airplane Sales = IF [ItemGroup] = "Airplane" THEN SUM([Sales Amount] ELSE 0 END)

Ignorovať filter pomocou funkcie CALCULATE

Ďalej je potrebné filtrovať filtre pomocou funkcie CALCULATE.

Tabuľka údajov, na ktorú sa bude odkazovať pri ignorovaní filtra pomocou funkcie CALCULATE.

V predchádzajúcej tabuľke údajov máte celkový predaj podľa štátu v jednom stĺpci a celkový predaj podľa celej geografie v nasledujúcom stĺpci. Tento stĺpec bude užitočný, keď chcete vykonať analýzu percenta zo súčtu pre každý štát (alebo riadok).

Percento súčtu v jazyku DAX sa najčastejšie používa prostredníctvom funkcie ALL.

Total Sales All Geo = CALCULATE( [Total Sales], ALL( Geography ) )

Vo vyššie uvedenom kóde sa pozeráte na tabuľku Geografia vrátane všetkých hodnôt, ktoré obsahuje. Nezužujte kontext filtra.

Tip

CORRELATING TO TABLEAU: Nasledujúci úryvok kódu ukazuje, ako by ste použili rovnaký výpočet v tableau pomocou výrazu EXCLUDE LOD: Total Sales All Geo = { EXCLUDE [State], [City] : SUM([Total Sales]) }

Iný príklad ignorovať filter by vyzeral asi takto:

Tabuľka údajov, na ktorú sa bude odkazovať pri ignorovaní filtrov pomocou funkcie CALCULATE.

V predchádzajúcej tabuľke máte celkový predaj podľa štátu, celkový predaj podľa celej geografie (so všetkými vylúčenými filtrami geografie) a nakoniec máte celkový predaj podľa všetkých štátov, ale s filtrom mesta sa stále používa.

Na základe obrázka existuje mesto Alexandria vo viacerých štátoch. Takže chcete len nájsť celkový predaj tých štátov, ktoré majú Alexandriu ako mesto:

Total Sales All States = CALCULATE( [Total Sales], ALL( Geography[State] ) )

Tip

CORRELATING TO TABLEAU: Takto by ste použili rovnaký výpočet v tableau pomocou výrazu EXCLUDE LOD. Všimnite si, že tento výraz LOD sa líši od toho druhého podľa jeho granularity. Pomocou tohto výrazu chcete štát zo zobrazenia vylúčiť namiesto štátu a mesta: Total Sales All States = { EXCLUDE [State] : SUM([Total Sales]) }

Aktualizácia filtra pomocou funkcie CALCULATE

Posledný návod na zvýraznenie užitočnosti funkcie CALCULATE sa vykoná aktualizáciou filtra.

Tabuľka údajov, na ktorú sa bude odkazovať pri aktualizácii filtra pomocou funkcie CALCULATE.

V predchádzajúcej tabuľke údajov máte celkový predaj (ignoruje rok), celkový predaj v kontexte filtra použitý rýchlym filtrom vo vizuáli a potom posledný stĺpec predstavuje celkový predaj len za rok 2018.

Ak chcete získať stĺpec Predaj za rok 2018, musíte napísať niečo takého:

2018 Sales = CALCULATE( [Total Sales], DATE[Year] = 2018 )

Tip

CORRELATING TO TABLEAU: Toto je zaujímavé, pretože sa nezdá, že by existovalo priame porovnanie Tableau. Ak to chcete urobiť v table Tableau, budete musieť duplikovať polia, priviesť ďalšie zdroje údajov alebo vykonávať výpočty v každom stĺpci.

Tableau, v súčasnosti nie je k dispozícii. Power BI, ovládajte kontext filtra aktualizáciou filtra pomocou funkcie CALCULATE.

Poďme si zhrnúť, čo ste si prečítali v tejto lekcii CALCULATE:

  • Akýkoľvek výraz možno uviesť ako prvý argument.

  • Výraz zobrazí všetok kontext filtra na strane (rýchle filtre pre vizualizáciu).

  • Ak sú k dispozícii filtre, pridá sa.

  • Ak už existuje filter, ktorý je už v zozname filtrov a je rovnaký ako kontext strany, prepíše ho.

  • Po všetkých týchto nuansách (uvedených vyššie) sa výraz konečne vyhodnotí.

Poznámka

Je zrejmé, že to nie je niečo, čo by ste mali urobiť bez toho, aby ste kontrolovali svoje odpovede, aby naozaj pochopiť poradie operácií. Mali by ste sa pýtať sami seba: "Zrušili sa moje filtre alebo nie?"