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.