I denne video gennemgår Victor, hvordan du kan bruge user-defined functions (UDF) i Power BI til at samle og genbruge dine DAX-beregninger.
Funktionen er i preview, men giver allerede nu nye muligheder for at gøre din semantiske model mere overskuelig og nemmere at vedligeholde.
Med user-defined functions kan du samle din DAX-logik i genbrugelige funktioner, der kan anvendes på tværs af hele modellen.
Gennem et konkret eksempel viser vi, hvordan en beregning kan defineres ét sted og genbruges i rapporten, så ændringer kun skal foretages én gang.
Her kan du læse Victors forklaring af, hvad du kan se i videoen:
Hej og velkommen til.
I dag skal vi snakke om user-defined functions, UDF’er, som er brugerdefinerede funktioner, som man nu kan lave i Power BI.
Det er i preview lige nu, så man skal gå ind og tjekke den af, hvis man gerne vil prøve det af i sit daglige arbejde.
En user-defined functions er en funktion, som er brugerdefineret, det vil sige, ligesom enhver anden funktion, så kan man selv gå ind og lave en funktion.
En user-defined functions bliver altså brugt, så man får en funktion, som er nem at redigere igennem hele den semantiske model.
Det vil sige, i det eksempel vi kommer til at vise senere, så hvis man ændrer i den, så kan man ændre det igennem hele datamodellen. Det gør det nemt for dig at opretholde funktionerne, og det gør det nemt for dig at dele den med andre.
Lad os hoppe direkte ind og se på det eksempel, jeg har med til jer i dag.
Her har jeg lavet en lille tabel, hvor jeg har puttet noget forskelligt data ind. Vi har order-ID, product-ID, sum of unit price, sum of unit quantity og total sales without tax.
Det ligger også herude i højre side i databaren, hvor man kan se, hvad der ligger inde i tabellen.
Nu vil jeg gerne lave en user defined function, og jeg vil gerne have total sales with tax.
Så vi går ned i DAX Query View.
Her er vi hoppet ind i DAX Query View, og det første man gør, når man skal lave en UDF, det er, at man skriver define.
Herunder går vi ned og skriver function, som man vil gøre i hvilken som helst anden funktion.
Vi skriver add tax.
Så giver vi den nogle parametre, og de parametre vi giver her er, hvilket input den kan modtage. Så det vil sige, at når vi gerne vil have tax, så skal det være tal, og vi vil ikke have, at den skal tage imod tekst.
Så vi skriver først amount, hvorefter vi skriver numeric, hvilket betyder, at de parametre, vi har givet den her er, at det kun kan være tal, vi kan give den. Så vi kan ikke bruge den her UDF til at regne på noget tekst.
Så skriver vi sådan her, hvilket betyder, at alt efter her er det, den skal give os i return.
Under skriver vi så amount, hvorefter vi skriver, at vi skal gange det med 1,10. Det vil altså sige, at vi får lagt taxen oveni her.
Som i kan se, så er det en meget simpel user-defined functions, vi har lavet her.
Når vi har lavet den, så trykker vi update with changes. Så opdaterer vi modellen, og så kan I se, at den kommer frem i databaren under funktioner.
Her har vi så tabellen, som jeg viste før, og nu kunne vi godt tænke os en ekstra kolonne herude, hvor der skal stå total sales with taxes.
Vi laver det nu som et helt nyt measure, så vi trykker på new measure. Vi kalder det total sales with taxes.
Vi gør som vi har gjort på den forrige, vi skriver sumX. Grunden til, at vi bruger sumX, er fordi vi gerne vil gøre det per række. Vi vil gerne have et resultat ligesom her, hvor den summerer per række og ikke på en hel kolonne.
Vi tager derefter order details. På linjen under kalder vi vores funktion, som vi nu har lavet. Her kan man se de andre funktioner, som allerede er foruddefinerede, og man kan se vores user defined function, som er add tax.
Så går vi ind under order details, og tager unit price og ganger med unit quantity.
Så lukker vi measure og trykker godkend.
Det vi har gjort er, at vi har kaldt vores funktion, det vi havde før i et measure, og nu ganger vi det med 1,10. Så vi putter altså taxen oveni.
Nu har vi lavet vores measure færdigt. Det ligger herude, hvor I kan se total sales with taxes.
Vi vil nu gerne have det ind i den her tabel, som du kan se på vores visuals. Der trykker vi på tabellen, hvor vi så kan se, hvad vi har lige nu, og så vil vi gerne have det til at ligge efter total sales without taxes.
Så drag and dropper vi den på den ønsket placering, og så kan I se, at den har ganget det med 1,10.
Den her funktion vil nu kunne bruges på tværs af hele den semantiske model med alt data. Det gør det simpelt, og det gør det nemt.
Det vil sige, at hvis det skal ganges med andet end 1,10, så skal man kun rette det et sted, for det bliver rettet igennem hele rapporten.
Det var alt for nu. Jeg håber, at I går ud og bruger de her user-defined functions, for det kommer til at være en stor ting inden for Power BI i fremtiden.











