Používanie funkcie Calculate
Funkcia CALCULATE v jazyku DAX je jedna z najdôležitejších funkcií, ktoré sa môže analytik údajov naučiť. Názov funkcie nepopisuje všetko, na čo je funkcia zas určená.
Funkcia CALCULATE predstavuje metódu vytvorenia mierky v jazyku DAX, ktorá prepíše určité časti kontextu, ktoré sa používali na vyjadrenie správneho výsledku.
Ak chcete napríklad vytvoriť mierku, ktorá vždy vypočíta celkový predaj za rok 2015, bez ohľadu na to, ktorý rok je vybratý v ktoromkoľvek inom vizuáli v službe Power BI, vytvorte mierku, ktorá vyzerá tak, ako v nasledujúcej ukážke:
Total Sales for 2015 = CALCULATE(SUM('Sales OrderDetails'[Total Price]), YEAR('Sales OrderDetails'[orderdate]) = 2015)
Všimnite si, ako je mierka pomenovaná Celkový predaj za 2015. Keď použijete funkciu Calculate na prepísanie kontextu, je užitočné pomenovať mierku tak, aby presne popísala spôsob, ako ho prepisujete. V tomto príklade funkcia CALCULATE agreguje stĺpec Celková cena presne tak, ako ste to urobili vy v predchádzajúcej mierke. Namiesto toho, aby ste spracúvali celú množinu údajov a zároveň používali čokoľvek, čo určí kontext filtra, spracúvate len kontext filtra za rok 2015. Bez ohľadu na to, aký rok je vybratý ako filter pre iné zostavy, vždy získate celkový súčet za rok 2015 pomocou tejto mierky; naďalej budú použité všetky ostatné filtre. Nasledujúci príklad znázorňuje tento koncept v reálnom živote.
Keď do predchádzajúceho vizuálu pridáme obe mierky, budú pripomínať tie na nasledujúcej snímke obrazovky.
Ako je znázornené na predchádzajúcej snímke obrazovky, Celkový predaj je stále 1,35 milióna USD a Celkový predaj za rok 2015 je 0,66 milióna USD.
Keď pridáte do zostavy iný vizuál, ako ste to urobili predtým, a následne vyberiete rok 2015, výsledky budú vyzerať ako na nasledujúcom obrázku. Ak vyberiete rok 2016, celkový predaj za rok 2015 zostane na úrovni 0,66 milióna USD.
Všimnite si, že obe mierky teraz obsahujú rovnakú sumu. Ak by ste chceli filtrovať podľa nejakých iných kritérií vrátane regióna, zamestnanca alebo produktu, kontext filtra sa i tak použije na obe mierky. Na danú mierku sa nevzťahuje iba filter roka.
Potrebujete pomoc? Pozrite si nášho sprievodcu riešením problémov alebo odošlite konkrétne pripomienky nahlásením problému.

