Vizuální výpočty jsou DAX výpočty, které se vztahují striktně k vizuálu, ve kterém jsou vytvořeny, a nejsou součástí modelu. To je velký rozdíl oproti měřítkům, která jsou součástí modelu. Měřítko vytvoříme jednou, a můžeme ho používat opakovaně kdekoliv v rámci reportů, nebo také uvnitř jakéhokoliv jiného DAX výpočtu.
K tomuto tématu je k dispozici také video:
Přestože je mezi měřítky a vizuálními výpočty zásadní rozdíl, v praxi bude existovat celá řada výpočtů, které budeme moci vytvořit jak pomocí měřítka, tak pomoci vizuálních výpočtů. Co se týká samotných výpočtů, tak i zde je zásadní rozdíl mezi měřítkem a vizuálním výpočtem. V měřítku pracujeme s modelem, a můžeme tak přistupovat ke všem datům nahraným v modelu. Ve vizuálním výpočtu pracujeme pouze s daty, která jsou již ve vizuálu, ve kterém vizuální výpočet tvoříme. To je zásadní omezení vizuálních výpočtů, protože v rámci vizuálního výpočtu se nikdy nedostaneme mimo rozsah a strukturu dat, která jsou v aktuálním vizuálu.
Pro tvorbu vizuálních výpočtů je k dispozici celá řada nových DAX funkcí, které fungují pouze v rámci vizuálních výpočtů. Jedná se například o funkce FIRST(), LAST(), RANGE(), PREVIOUS(), NEXT(), COLLAPSE(), EXPAND() nebo ISATLEVEL(). Používat ale můžeme také některé standardní DAX funkce (ne všechny, a některé pouze v omezeném rozsahu). Používání některých klasických DAX funkcí v rámci vizuálních výpočtů ale může být velmi matoucí. Ve vizuálních výpočtech totiž neexistuje kontext filtru ani kontext řádku, ale pracujeme zde s tzv. vizuálním kontextem, pro který platí jiná pravidla, než na která jsme zvyklí v rámci standardních výpočtů, což může být alespoň ze začátku velmi matoucí. Současně, ve vizuálních výpočtech nemůžeme přistupovat k objektům v modelu (měřítka, sloupce, tabulky atd.), ale pouze k řádkům, sloupcům a hodnotám konkrétního vizuálu.
Vizuální výpočty byly do Power BI implementovány z důvodu zjednodušení výpočtů, které vycházejí z již zobrazených dat ve vizuálu. To může platit především pro předpřipravené výpočty a syntaktické zkratky, které se defaultně nabízejí při vytvoření nového vizuálního výpočtu. Pokud nám ale tyto předpřipravené výpočty nestačí, snadno se můžeme dostat do situace, kdy je vizuální výpočet složitější než alternativní výpočet řešený pomocí měřítka.
Dále je dobré zmínit, že některé předpřipravené výpočty často pracují s funkcemi, které jsou pouze syntaktické zkratky pro DAX funkce, které řadíme do kategorie WINDOW funkcí. Mezi WINDOW funkce řadíme například funkce WINDOW(), INDEX(), OFFSET() nebo RANK() a ROWNUMBER(). Použitím WINDOW funkcí v měřítku tak můžeme často plnohodnotně nahradit samotné vizuální výpočty, bez nutnosti učit se nový koncept a nové funkce, vztažené pouze k vizuálním výpočtům.
Výše uvedené samozřejmě neznamená, že nemůžeme vizuální výpočty vůbec používat. Vizuální výpočet se může hodit zejména v situaci, kdy nejsme schopni vyřešit požadovaný úkol jednoduše pomocí měřítka a současně pracujeme s již předpřipravenými vizuálními výpočty. Jakmile ale dojdeme v komplexnosti výpočtu do stádia, kdy musíme psát vlastní vizuální výpočet, ať už sami nebo pomocí LLM, téměř vždy bude dávat smysl upřednostnit měřítko před vizuálním výpočtem.
I přes všechna omezení vizuálních výpočtů budou existovat situace, kdy jejich použití na úkor měřítek může dávat smysl. Asi každý někdy vytvořil nějaké měřítko, které se vztahuje striktně k jednomu konkrétnímu vizuálu, a které není použitelné v žádné jiné situaci. Jako příklad může být měřítko vracející barvy pro nastavení podmíněného formátu konkrétních buněk v matici nebo sloupců v grafech. Tato jednorázová měřítka, vztažená striktně ke konkrétnímu vizuálu, může dávat smysl nahradit vizuálním výpočtem.
Nenahraditelné pak budou vizuální výpočty pro ty vývojáře, kteří sice mohou tvořit reporty, ale nemají práva upravovat model a doplňovat ho o další měřítka, protože tento model vlastní například jiný tým. Současně, vizuální výpočty můžeme ve specifických situacích použít se záměrem optimalizace reportu, protože v některých typech výpočtů a zejména při práci s obrovskými modely, mohou být vizuální výpočty vyhodnoceny rychleji než měřítka. Důvodem je již dříve zmíněný fakt, že vizuální výpočty pracují pouze s hodnotami již dříve načtenými ve vizuálu, a nikoliv přímo s modelem.
Další informace a příklady je možné vidět v přiloženém videu v úvodu článku.
Komentáře
Okomentovat