Provera primene filtera
DAX poseduje mnoštvo informativnih funkcija koje vraćaju vrednost TRUE ukoliko je uslov koji ispituje funkcija ispunjen ili FALSE ukoliko nije. Ove funkcije mogu da budu korisne kada želimo da ispitamo da li je neka vrednost posredno ili neposredno filtrirana. U zavisnosti od toga kasnije možemo da primenimo različite formule, odnosno uz pomoć slajsera možemo da diktiramo kakav će da bude rezultat izraza.
Za proveru da li je nad nekom kolonom primenjen filter koristićemo funkciju:
ISFILTERED (<kolona>)
Na primer, ako želimo da saznamo da li je primenjen filter nad kolonom PROIZVOĐAČ u tabeli Artikli napisaćemo sledeću meru:
Filtrirana:=ISFILTERED(Artikli[PROIZVOĐAČ])
Ponekad je važno da znamo da li je kolona posredno filtrirana. Za to koristimo funkciju:
ISCROSSFILTERED (<kolona>)
Pošto jedan proizvođač može da ima više robnih marki ovu funkciju možemo da iskoristimo za pisanje izraza:
PosrednoFiltrirana:=ISCROSSFILTERED(Artikli[ROBNA MARKA])
Pored saznanja da li su nad nekom kolonom primenjeni filteri možda će nam zatrebati i informacija da li je primenjen samo jedan filter. U tom slučaju koristimo funkciju:
HASONEFILTER (<kolona>)
Ako smo npr. napravili slajser na osnovu kolone PROIZVOĐAČ pa nas zanima da li je primenjen samo jedan filter napisaćemo izraz:
JedinstvenFilter:=HASONEFILTER(Artikli[PROIZVOĐAČ])
Na kraju, možda će nam nekada značiti da li neka kolona vraća jedinstvenu (DISTINCT) vrednost. U tom slučaju koristimo funkciju:
HASONEVALUE (<kolona>)
…pa možemo da napišemo i sledeći izraz:
JedinstvenaVrednost:=HASONEVALUE(Artikli[PROIZVOĐAČ])
Hajde da kreiramo Pivot tabelu sa merama koje smo malopre napravili, u oblast Rows dodajmo dimenziju KLASIFIKACIJA pa ubacimo dva slajsera PROIZVOĐAČ i ROBNA MARKA. Ako izaberemo da proizvođač bude kompanija Nectar dobićemo sledeći izveštaj.
Mera Filtrirana ima vrednost TRUE, jer smo na koloni PROIZVOĐAČ izabrali Nectar. Mera PoserednoFiltrirana takođe ima vrednost TRUE, jer je kolona ROBNA MARKA posredno filtrirana. Ovo je zbog toga što u grupi podataka koje obrađujemo Nectar ima samo tri robne marke. Na slici možete da vidite da su ostale robne marke prikazane bleđim bojama.
Mera JedinstvenFilter ima vrednost TRUE jer smo kliknuli samo na Nectar. Da smo npr. kliknuli na vrednosti Nectar i Fruvita ona bi imala vrednost FALSE. Mera JedinstvenaVrednost će u ovom slučaju uvek imati vrednost TRUE jer se naziv Nectar u listi svih proizvođača pojavljuje samo jedanput.
