DAX-függvények használata
A DAX-függvénykönyvtár több száz függvényt tartalmaz, amelyek mindegyike egy meghatározott célra szolgál.
Mivel a DAX eredete a Microsoft Excel 2010-hez készült Power Pivot-bővítményig nyúlik vissza, több, mint 80 olyan függvénye van, amelyek az Excelben is megtalálhatók. A Microsoft szándékosan tervezte úgy, hogy az Excel-felhasználók gyorsan eredményessé válhassanak a DAX használatában.
Sok olyan függvény is van azonban, amelyek az Excelben nem találhatók meg, mert kifejezetten adatmodellezésre szolgálnak:
- Kapcsolat-navigációs függvények
- Szűrőkörnyezet-módosító függvények
- Iterátorfüggvények
- Időintelligencia-függvények
- Útvonalfüggvények
Tipp
A DAX-függvényekhez kapcsolódó dokumentáció webes kereséséhez írja be a DAX kulcsszót és a függvény nevét.
További információkat a DAX-függvények referenciájában talál.
Az Excelből származó függvények
A következőkben bemutatunk néhány hasznos függvényt, amelyek az Excelből már ismerősek lehetnek.
A IF
DAX-függvény ellenőrzi, hogy teljesül-e az első argumentumként megadott feltétel. Ha a feltétel IGAZ, akkor az egyik értéket, ha a feltétel HAMIS, akkor a másikat adja vissza. A függvény szintaxisa a következő:
IF(<logical_test>, <value_if_true>[, <value_if_false>])
Tipp
A dokumentációban szögletes zárójelek között feltüntetett argumentumok opcionálisak.
Ha a logical_test kiértékelésének eredménye FALSE, és a value_if_false érték nincs megadva akkor a függvény BLANK értéket ad vissza.
Számos Excel-összegzési függvény érhető el, többek között SUM
, COUNT
, AVERAGE
, MIN
, MAX
és még sok más. Az egyetlen különbség az, hogy a DAX-ban egy oszlophivatkozást ad meg, míg az Excelben egy cellatartományt.
Elérhető továbbá az Excel számos matematikai, szöveges, dátum/idő, információs és logikai függvénye is. A DAX-ban ABS
elérhető Excel-függvények egy kis mintája például a következő: , ROUND
, , SQRT
, LEN
, LEFT
, YEAR
UPPER
NOW
MONTH
ISNUMBER
TRUE
DATE
RIGHT
AND
OR
FALSE
NOT
és .IFERROR
Nem az Excelből származó függvények
Két hasznos DAX-függvény, amelyek nem a modellezésre vonatkoznak, és amelyek nem az Excelből származnak, a és DIVIDE
a .DISTINCTCOUNT
A DISTINCTCOUNT függvény
A DAX függvénnyel megszámlálhatja DISTINCTCOUNT
az oszlopokban lévő különböző értékek számát. Ez a függvény elsősorban elemzési megoldásokban használható hatékonyan. Az ügyfelek darabszáma például nem azonos az egyedi ügyfelek darabszámával. Az utóbbi nem számlálja többször az ismétlődő ügyfeleket, tehát nem a „Hány ügyfél van?” kérdésre, hanem a „Hány különböző ügyfél van?” kérdésre válaszol.
A DIVIDE függvény
A DAX-függvénnyel osztást érhet DIVIDE
el. Egy számláló és egy nevező kifejezést kell átadnia. Opcionálisan átadhat egy értéket, amely egy alternatív eredményt jelent. A DIVIDE
függvény szintaxisa:
DIVIDE(<numerator>, <denominator>[, <alternate_result>])
A DIVIDE
függvény automatikusan kezeli a nullával történő osztást. Ha nincs megadva alternatív eredmény, és a nevező nulla vagy BLANK, akkor a függvény BLANK értéket ad vissza. Ha meg van adva alternatív eredmény, akkor azt adja vissza BLANK helyett.
A függvény használata azért kényelmes, mert így a kifejezésnek nem kell előre tesztelnie a nevező értékét. A függvény a nevező értékének tesztelésére is jobban van optimalizálva, mint a IF
függvény. A teljesítmény-nyereség jelentős, mert a nullával történő osztás ellenőrzése költséges művelet. Ráadásul a DIVIDE
függvény használata tömörebb és elegánsabb kifejezést eredményez.
Tipp
Javasoljuk, hogy akkor használja a DIVIDE
függvényt, ha a nevező olyan kifejezés, amely nullát vagy BLANK értéket adhat vissza. Ha a nevező konstans érték, akkor az osztás operátor (/) használata ajánlott, amelyről a modul későbbi részében lesz szó. Ilyen esetben az osztás garantáltan sikeres lesz, a kifejezés teljesítménye pedig jobb, mert elkerüli a szükségtelen tesztelést.