Korisnički definisane DAX funkcije

Iskazni jezik DAX, koji koristimo za dodavanje novih izveštajnih dimenzija u Semantički Model, bilo da se radi o merama ili izračunatim kolonama, ili ga pak koristimo za pravljenje tabela, poseduje veliki broj funkcija. Ipak, ponekad korisnici imaju potrebu da kreiraju svoje funkcije a od skoro to mogu da urade na jednostavan način, najčešće kroz DAX query view.

Korisničke definisane funkcije su još uvek nova funkcionalnost, te da bi radile morate najpre da ih osposobite u Power BI opcijama, odeljak Preview Features.

Uvezli smo u Model i tamo povezali dve tabele: Artikli i Transakcije. Takođe, kreirane su i dve mere koje računaju prihode i troškove na osnovu prodajnih transakcija.

Funkcije ćemo praviti u okviru DAX query view-a. Sintaksa nove funkcije izgleda ovako:

FUNCTION <ime> = ( <imeParametra>: <tipParametra>, … ) => <telo funkcije>

Kako ovo radi videćemo na primeru. Hajde da napravimo funkciju pomoću koje računamo Bruto maržu. Najpre ćemo uneti komandu DEFINE, a zatim definisati funkciju:

DEFINE

    FUNCTION BM = (pr: NUMERIC, tr: NUMERIC) => pr – tr

Kada smo kreirali funkciju, najpre treba kliknuti na dugme Update model with changes. Na ovaj način, Intellisense će moći da prepozna novokreiranu funkciju. Zatim, u tabeli Transakcije, pravimo novu meru:

BrutoMarza = BM ([Prihodi],[Troskovi])

Ovu meru kasnije možemo da iskoristimo prilikom pravljenja izveštaja.