ALL funkce

Skupina ALL funkcí spadá do kategorie filtrovacích DAX funkcí a pomáhá velmi usnadňovat práci s measures (měření). V následujícím článku se pokusím vše objasnit na vzorových příkladech nad databází Adventure Works, konkrétně se sloupci DimProduct[Color] a FactInternetSales[SalesAmount]. K vizualizacím využívám nástroj Power BI Desktop a vestavěné vizuály Slicer, Table, Donut chart.

DAX funkce ALL zjednodušeně říká: drž vždy všechny data z konkrétní tabulky nebo jednotlivých sloupců dané tabulky. Nerespektuje tedy žádné filtry jak například známe z kontingenčních tabulek nebo slicerů (průřezů).

Syntaxe: =ALL(NazevTabulkyNeboSloupce;VolitelnyNazevSloupce1;…;VolitelnyNazevSloupceN)

ALL bez použitého filtru:
ALL bez použitého filtru

ALL s použitým filtrem na barvy black + blue + red. Celek je upraven pouze v tabulce, graf ukazuje 100%:
ALL s použitým filtrem

ALLSELECTED funkce dává možnost reagovat na filtr, ale vždy bude mít k dispozici výběr jako 100%
Syntaxe: =ALLSELECTED(NazevTabulkyNeboSloupce)
ALLSELECTED bez použitého filtru, včetně porovnání s normální ALL funkcí:
ALLSELECTED bez použitého filtru

ALLSELECTED s použitým filtrem (celek bude vždy 100%), včetně porovnání s normální ALL funkcí:
ALLSELECTED s použitým filtrem

ALLEXCEPT s ignorací konkrétního sloupce, u všeho ostatního v datovém modelu počítá % na celku:
ALLEXCEPT s ignorací konkrétního sloupce

ALLEXCEPT po přidání jakéhokoliv jiného sloupce z datového modelu bude ukazovat správná procenta:
ALLEXCEPT po přidání jakéhokoliv jiného sloupce

ALL funkce určitě oceníme v measures, které musejí držet hodnoty (např. celek) nezávisle na použitých filtrech pro report, stránku reportu nebo vizuály.