Introduktion

Fuldført

Ved hjælp af DAX (Data Analysis Expressions) kan du føje tre typer beregninger til din semantiske model:

  • Beregnede tabeller
  • Beregnede kolonner
  • Målinger

Bemærk

DAX kan også bruges til at definere regler for sikkerhed på rækkeniveau (RLS), som er udtryk, der gennemtvinger filtre i modeltabeller. Regler anses dog ikke for at være modelberegninger, så de er ikke omfattet af dette modul. Du kan finde flere oplysninger under Sikkerhed på rækkeniveau (RLS) med Power BI.

Beregnede tabeller

Du kan skrive en DAX-formel for at føje en beregnet tabel til din model. Formlen kan duplikere eller transformere eksisterende modeldataeller oprette en dataserie for at oprette en ny tabel. Beregnede tabeldata importeres altid til din model, så det øger størrelsen på modellageret og kan forlænge dataopdateringstiden.

Bemærk

En beregnet tabel kan ikke oprette forbindelse til eksterne data. Du skal bruge Power Query for at fuldføre opgaven.

Beregnede tabeller kan være nyttige i forskellige scenarier:

  • Datotabeller
  • Dimensioner med forskellige roller
  • What If-analyse

Datotabeller

Datotabeller skal anvende særlige tidsfiltre, der kaldes time intelligence. DAX-time intelligence-funktioner fungerer kun korrekt, når der er konfigureret en datotabel. Når dine kildedata ikke indeholder en datotabel, kan du oprette en som beregnede tabeller ved hjælp CALENDAR af DAX-funktionerne eller CALENDARAUTO .

Dimensioner med forskellige roller

Når to modeltabeller har flere relationer, kan det skyldes, at din model har en dimension med forskellige roller. Hvis du f.eks. har en tabel med navnet Sales , der indeholder to datokolonner, OrderDateKey og ShipDateKey, er begge kolonner relateret til kolonnen Date i tabellen Date . I dette tilfælde beskrives tabellen Date som en dimension med forskellige roller, da den kan spille rollen ordredato eller afsendelsesdato.

Der vises to tabeller på billedet: Sales og Date. Der er to relationer mellem tabellerne. Kun én relation er aktiv.

Microsoft Power BI-modeller tillader kun én aktiv relation mellem tabeller, som er angivet som en ubrudt linje i modeldiagrammet. Den aktive relation bruges som standard til at overføre filtre, hvilket i dette tilfælde ville være fra tabellen Date til kolonnen OrderDateKey i tabellen Sales . Alle resterende relationer mellem de to tabeller er inaktive. I et modeldiagram er relationerne repræsenteret som stiplede linjer. Inaktive relationer bruges kun, når der udtrykkeligt anmodes om dem i en beregnet formel ved hjælp USERELATIONSHIP af DAX-funktionen.

Måske kan et bedre modeldesign have to datotabeller, hver med en aktiv relation til tabellen Sales . Rapportbrugere kan derfor filtrere efter ordredato eller afsendelsesdato eller begge dele på samme tid. En beregnet tabel kan duplikere dataene i tabellen Date for at oprette tabellen Ship Date .

Der vises to tabeller på billedet: Sales og Date. Der er én relation mellem tabellerne Sales og Date og én relation mellem tabellerne Sales og Ship Date. Begge relationer er aktive.

What If-analyse

Power BI Desktop understøtter en funktion, der kaldes What If-parametre. Når du opretter en What If-parameter, føjes der automatisk en beregnet tabel til din model.

What If-parametre gør det muligt for brugere af rapporten at vælge eller filtrere efter værdier, der er gemt i den beregnede tabel. Formler for målinger kan bruge den eller de valgte værdier på en meningsfuld måde. En What If- parameter kan f. eks. tillade, at rapportbrugeren vælger en hypotetisk valutakurs, og en måling kan dividere indtægtsværdier (i en lokal valuta) med den valgte sats.

Beregnede What If-tabeller ikke er relateret til andre modeltabeller, fordi de ikke bruges til at overføre filtre. Derfor kaldes de nogle gange for frakoblede tabeller.

Beregnede kolonner

Du kan skrive en DAX-formel for at føje en beregnet kolonne til en vilkårlig tabel i din model. Formlen evalueres for hver tabelrække, og den returnerer en enkelt værdi. Når formlen føjes til en tabel med lagringstilstanden Import, evalueres den, når den semantiske model opdateres, og den øger din models lagerstørrelse. Når formlen føjes til en tabel med lagringstilstanden DirectQuery, evalueres formlen af den underliggende kildedatabase, når der sendes en forespørgsel til tabellen.

Beregnede kolonner udvides med et særligt ikon i ruden Felter. I følgende eksempel vises en enkelt beregnet kolonne i tabellen Kunde med navnet Alder.

Billedet viser et afsnit i ruden Felter. Der er flere felter i tabellen Customer. Et af dem har det særlige ikon, som angiver, at det er en beregnet kolonne.

Målinger

Du kan skrive en DAX-formel for at føje en måling til en vilkårlig tabel i din model. Formlen bruges til opsummering af modeldata. Formlen skal returnere en enkelt værdi på samme måde som en beregnet kolonne. I modsætning til beregnede kolonner, der evalueres på dataopdateringstidspunktet, evalueres målinger på forespørgselstidspunktet. Deres resultater gemmes aldrig i modellen.

Målinger vises med lommeregnerikonet i ruden Felter. I følgende eksempel vises tre målinger i tabellen Sales : Cost, Profit og Revenue.

Billede, der viser et afsnit i ruden Felter. Der er flere felter i tabellen Sales. Tre af dem har lommeregnerikonet, som angiver, at de er målinger.

Sommetider kan målinger beskrives som eksplicitte målinger. Eksplicitte målinger er nærmere betegnet modelberegninger, der er skrevet i DAX, og kaldes normalt blot målinger. Ja, begrebet implicitte målinger findes også. Implicitte målinger er kolonner, der kan opsummeres i visuals på forenklede måder, f. eks. count, sum, minimum, maximum osv. Du kan identificere implicitte målinger i ruden Felter , fordi de vises med sigmasymbolet ( ∑ ).

Bemærk

Enhver kolonne kan opsummeres, når den føjes til et visual. Derfor kan de konfigureres som implicitte målinger, uanset om de vises med sigma-symbolet eller ej, når de føjes til en visualisering.

Begrebet beregnet måling findes ikke i tabelmodellering. Ordet beregnet bruges til at beskrive beregnede tabeller og beregnede kolonner, hvilket adskiller dem fra tabeller og kolonner, der stammer fra Power Query. Begrebet eksplicit måling findes ikke i Power Query.