Hurtig start: Lær de grundlæggende DAX-funktioner på 30 minutter

Vigtigt: Denne artikel er maskinoversat. Se ansvarsfraskrivelsen. Du kan finde den engelske version af denne artikel her til din orientering.

Denne Hurtig start for nye brugere af Power Pivot i Excel eller tabelmodelprojekter, der er oprettet i SQL Server Data Tools. Den har til formål at give dig en hurtig og nem introduktion i, hvordan du kan bruge DAX (Data Analysis Expressions) til at afhjælpe nogle af grundlæggende problemerne med datamodellering og analyse. Dette emne omfatter oplysninger om begreber, en række opgaver, du kan udføre, og et par quizzer, der tester, hvad du har lært. Når du er færdig med dette emne, bør du have en god forståelse for de mest basale begreber i DAX.

Hvad er DAX?

DAX er en samling funktioner, operatorer og konstanter, der kan bruges i en formel, eller et udtryk, til at beregne og returnere en eller flere værdier. Mere forenklet hjælper DAX dig med at oprette nye oplysninger ud fra data, som allerede findes i din model.

Hvorfor er DAX så vigtig?

Det er nemt at oprette en projektmappe og importere data i den. Du kan endda oprette pivottabeller eller pivotdiagrammer, der viser vigtige oplysninger, uden at bruge DAX-formler. Men hvad nu, hvis du skal analysere kritiske salgsdata på tværs af mange produktkategorier og for forskellige datointervaller? Eller hvis du skal kombinere vigtige lagerdata fra flere tabeller i forskellige datakilder? DAX-formler har denne mulighed og mange andre vigtige muligheder. Ved at lære hvordan du opretter effektive DAX-formler, kan du få mest muligt ud af dine data. Når du får de oplysninger, du skal bruge, kan du begynde at løse rigtige forretningsmæssige problemer, der påvirker bundlinjen. Dette er Business Intelligence, og DAX hjælper dig med et nå dertil.

Forudsætninger

Du er måske allerede fortrolig med at oprette formler i Microsoft Excel. Din viden om Excel vil være nyttig, når det gælder om at forstå DAX, men selv om du ikke har erfaring med Excel-formler, vil de begreber, der er beskrevet her, hjælpe dig med at komme i gang med at oprette DAX-formler og løse BI-problemer fra den virkelige verden.

Vi vil fokus specifikt på forstå DAX-formler, der bruges i beregninger. Du skal allerede være fortrolig med grundlæggende begreber både beregnede kolonner og målinger (også kaldet beregnede felter), hvor begge er beskrevet i Power Pivot Hjælp. Du bør også have kendskab til Power Pivot i Excel redigering miljø og værktøjer.

Eksempel på projektmappe

Den bedste måde at lære DAX på er at oprette nogle grundlæggende formler, bruge dem sammen med nogle faktiske data og se resultaterne selv. Til eksemplerne og opgaverne her bruges projektmappen Contoso Sample DAX Formulas.xlsx. Du kan hente projektmappen på http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Når du har hentet projektmappen til din computer, skal du åbne den og derefter åbne Power Pivot-vinduet.

Lad os komme i gang!

Vi vil beskrive DAX ud fra tre meget vigtige grundlæggende begreber: Syntaks, Funktioner og Kontekst. Der er naturligvis andre vigtige koncepter i DAX, men en forståelse af disse tre koncepter vil udgøre det bedste grundlag for at opbygge dine DAX-færdigheder.

Syntaks

Inden du opretter dine egne formler, skal vi se på syntaksen i DAX-formler. Syntaksen er de forskellige elementer, som en formel består af, eller simpelt hen hvordan formlen er skrevet. Lad os f.eks. se på en enkel DAX-formel, der bruges til at oprette nye data (værdier) for hver række i en beregnet kolonne med navnet Margin i en FactSales-tabel: (farverne på formlens tekst er kun ment som illustration)

Formel for beregnet kolonne

Syntaksen for denne formel omfatter følgende elementer:

  1. Lighedstegnsoperatoren (=) angiver starten på en formel, og når denne formel beregnes, returneres et resultat eller en værdi. Alle formler, som beregner en værdi, begynder med et lighedstegn.

  2. Referencekolonnen [SalesAmount] indeholder de værdier, vi vil subtrahere fra. En kolonnereference i en formel er altid omgivet af skarpe parenteser []. I modsætning til Excel-formler, der henviser til en celle, henviser en DAX-formel altid til en kolonne.

  3. Den matematiske subtraktionsoperator (-).

  4. Referencekolonnen [TotalCost] indeholder de værdier, vi vil subtrahere fra værdier i kolonnen [SalesAmount].

Når man forsøger at forstå, hvordan en DAX-formel læses, er det ofte en god idé at beskrive hvert element detaljeret i et sprog, du bruger og taler hver dag. Du kan f.eks. læse denne formel som:

i den FactSales tabel for hver række i den beregnede kolonne Margin, beregnes (=) en værdi ved at subtrahere (-) værdier i den [ Samletomkostning ] kolonne fra værdier i den [ SalesAmount ] kolonne.

Lad os se nærmere på en anden type formel, som bruges i en måling:

Formel for beregnet kolonne

Denne formel omfatter følgende syntakselementer:

  1. Mål navnet Sum of Sales Amount. Formler til målinger kan omfatte mål navnet, efterfulgt af et kolon, efterfulgt af beregningsformlen.

  2. Lighedstegnsoperatoren (=) angiver starten på beregningsformlen. Beregningen returnerer et resultat.

  3. Funktionen SUM summerer alle tallene i kolonnen [SalesAmount]. Du lærer mere om funktioner senere.

  4. Parentes () omgiver et eller flere argumenter. Alle funktioner kræver mindst et argument. Et argument overfører en værdi til en funktion.

  5. Den refererede tabel FactSales.

  6. Den refererede kolonne [SalesAmount] i tabellen FactSales. Dette argument fortæller funktionen SUM, i hvilken kolonne en SUM skal beregnes.

Du kan læse denne formel som:

For den mål med navnet Sum of Sales Amount beregnes (=) SUMMEN af værdierne i de [ SalesAmount ] kolonne i den FactSales tabel.

Når placeret i zonen, værdierne i et pivottabelfeltlisten, denne måling beregner og returnerer værdier, der er defineret af hver celle i pivottabellen, for eksempel mobiltelefoner i USA.

Bemærk, at denne formel på nogle områder adskiller sig fra den formel, vi brugte for den beregnede kolonne Margin. Vi introducerede nemlig funktionen SUM. Funktioner er formler, der er skrevet på forhånd, som gør det nemmere at foretage komplekse beregninger og behandling af tal, datoer, klokkeslæt, tekst m.m. Du lærer mere om funktioner senere.

I modsætning til den beregnede kolonne Margin tidligere, skal se du kolonnen [SalesAmount] blev foranstillet i tabellen FactSales, hvor kolonnen tilhører. Dette kaldes også et fuldstændigt kolonnenavn, den indeholder det kolonnenavn, foranstillet tabelnavnet. Kolonner, der refereres til i den samme tabel kræver ikke tabelnavnet medtages i formlen. Det kan gøre lange formler, som henviser til mange kolonner kortere og nemmere at læse. Men det er god praksis at inkludere tabelnavnet i dine mål formler, selv når du er i den samme tabel.

Bemærk: Hvis navnet på en tabel indeholder mellemrum, reserverede nøgleord eller ikke-tilladte tegn, skal du skrive tabelnavnet i enkelte anførselstegn. Du skal også skrive navne på tabeller i anførselstegn, hvis navnet indeholder et eller flere tegn, som ikke er et alfanumerisk ANSI-tegn, uanset om tegnet understøttes af den pågældende landestandard eller ej.

Det er meget vigtigt, at formler har den korrekte syntaks. I de fleste tilfælde returneres der en syntaksfejl, hvis syntaksen ikke er korrekt. I andre tilfælde kan syntaksen være korrekt, men de returnerede værdier er måske ikke som forventet. Power Pivot (og SQL Server Data Tools) omfatter IntelliSense, der er en funktion, som hjælper dig med at vælge de korrekte elementer, så dine formler får den korrekte syntaks.

Lad os oprette en enkel formel. Denne opgave kan øge din forståelse af syntaksen i formler og af, hvordan funktionen IntelliSense på formellinjen kan hjælpe dig.

Opgave: Opret en enkel formel for en beregnet kolonne

  1. Hvis du ikke allerede findes i vinduet Power Pivot i Excel, på den Power Pivot båndet, skal du klikke på Power Pivot vindue.

  2. Klik på tabellen (fane) FactSales i -vinduet.Power Pivot

  3. Rul til kolonnen længst til højre, og klik derefter på Tilføj kolonne i kolonneoverskriften.

  4. Klik i formellinjen langs toppen af modeldesignervinduet.

    PowerPivot-formellinje

    Nu vises markøren i formellinjen. I formellinjen kan du indtaste en formel for en beregnet kolonne eller et beregnet felt.

    Lad os bruge et øjeblik på at se på de tre knapper til venstre for formellinjen.

    Formellinje

    Når markøren er aktiv i formellinjen, er disse tre knapper aktive. Knappen længst til venstre, X, er en annulleringsknap. Klik på den. Markøren vises ikke længere i formellinjen, og annulleringsknappen og fluebensknappen vises ikke længere. Klik i formellinjen igen. Nu vises annulleringsknappen og fluebensknappen igen. Det betyder, at du kan begynde at indtaste en formel.

    Fluebensknappen bruges til at tjekke formlen. Den har ikke nogen funktion, før du har indtastet en formel. Vi vender tilbage til den om lidt.

    Klik på knappen Fx . Du får vist, vises en ny dialogboks. dialogboksen Indsæt funktion. Dialogboksen Indsæt funktion er den nemmeste måde at komme i gang at angive en DAX-formel. Vi vil tilføje en funktion til en formel, når vi opretter en måling er senere en smule, men nu, behøver du ikke føje en funktion til dine formler for beregnede kolonner. Gå videre og lukke dialogboksen Indsæt funktion.

  5. Indtast et lighedstegn = i formellinjen, og indsæt derefter en kantet venstre parentes [. Der vises et lille vindue med alle kolonnerne i tabellen FactSales. Dette er IntelliSense i funktion.

    Da beregnede kolonner altid oprettes i den aktive tabel, du er i, er det ikke nødvendigt at skrive tabelnavnet foran kolonnenavnet. Fortsæt med at rulle ned, og dobbeltklik derefter på [SalesQuantity]. Du kan også rulle til det ønskede kolonnenavn og derefter trykke på Tab.

    Markøren er nu aktiv til højre for [SalesQuantity].

  6. Indtast et mellemrum og derefter subtraktionsoperatoren - (minustegn), og indtast derefter et mellemrum mere.

  7. Du kan nu skrive et andet kantet venstreparentes [. Denne gang markere [ReturnQuantity] kolonnen, og tryk derefter på Enter.

    Hvis der opstår en fejl, skal du gå syntaksen grundigt efter. Sammenlign den eventuelt med formlen i den beregnede kolonne Margin, som er beskrevet tidligere.

    Når du har trykket på Enter for at færdiggøre formlen, vises ordet Beregner på statuslinjen langs bunden af Power Pivot-vinduet. Det går hurtigt, også selv om du lige har beregnet nye værdier for mere end tre millioner rækker.

  8. Højreklik på kolonneoverskriften, og omdøb kolonnen NetSales.

Det var det! Nu har du oprettet en enkel men meget effektiv DAX-formel. For hver række i tabellen FactSales beregner NetSales-formlen en værdi ved at subtrahere værdien i kolonnen [ReturnQuantity] fra værdien i kolonnen [SalesQuantity]. Bemærk, at vi sagde "for hver række". Dette leder hen til et andet meget vigtigt begreb i DAX: rækkekontekst. Du lærer mere om rækkekontekst senere.

Tip: 

Der er noget rigtigt vigtige at forstå, når du skriver en operator i en DAX-formel datatypen i de argumenter, du bruger. Eksempelvis hvis du skulle Skriv følgende formel, = 1 og 2, den værdi, returneres der ville være en tekstværdi "12". Dette skyldes, at den og-tegnet (&) operator er til tekstsammenføjningsoperatorer. DAX fortolker denne formel til at læse: beregne et resultat ved at tage værdien 1 som tekst og tilføje værdien 2 som tekst. Nu, hvis du skulle Skriv = 1 + 2, DAX læser denne formel som: beregne et resultat ved at tage den numeriske værdi 1 og tilføje den numeriske værdi 2. Resultatet er selvfølgelig "3", en numerisk værdi. DAX beregner resulterende værdier afhængigt af operatoren i formlen, ikke er baseret på datatypen for kolonner, der bruges i argumentet. Datatyper i DAX er meget vigtigt, men ikke er omfattet af Hurtig Start. Hvis du vil vide mere om datatyper og operatorer i DAX-formler, skal du se Reference til DAX (http://go.microsoft.com/fwlink/?LinkId=239769 & clcid = 0x409) i bøger Online.

Lad os prøve en anden. Denne gang, skal du oprette en måling, ved at skrive formlen og bruge IntelliSense. Bare rolig for meget Hvis du ikke fuldt ud forstår formlen. Det vigtigste her er at lære, hvordan du opretter en formel ved hjælp af flere elementer sammen i korrekt syntaks.

Opgave: Opret en måling formel

  1. Klik i et tomt felt i tabellen FactSales i beregningsområdet. Det er området med tomme celler lige under en tabel i Power Pivot-vinduet.

PowerPivot-beregningsområde

  1. Skriv navnet Previous Quarter Sales i formellinjen.

  2. Skriv et lighedstegn = som start på beregningsformlen.

  3. Skriv de første bogstaver CAL, og dobbeltklik derefter på den ønskede funktion. I denne formel vil du bruge funktionen CALCULATE.

  4. Indtast en venstre parentes ( som start på de argumenter, der skal overføres til funktionen CALCULATE.

    Når du har indtastet en venstre parentes, viser IntelliSense dig de argumenter, der kræves til funktionen CALCULATE. Du lærer om argumenter om lidt.

  5. Skriv de første par bogstaver for tabellen factsales , og dobbeltklik derefter på FactSales[på rullelistenSalg].

  6. Indtast et komma (,) for at angive det første filter, skriv PRE, og dobbeltklik derefter på funktionen PREVIOUSQUARTER.

    Når du har valgt funktionen PREVIOUSQUARTER, vises en anden venstre parentes. Det betyder, at der skal angivet et argument mere. Denne gang for funktionen PREVIOUSQUARTER.

  7. Skriv de første par bogstaver Dim, og dobbeltklik derefter på DimDate[DateKey].

  8. Luk både det argument, der overføres til funktionen PREVIOUSQUARTER, og funktionen CALCULATE, ved at indtaste to afsluttende parenteser )).

    Formlen ser nu sådan ud:

    Previous Quarter Sales:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Klik på knappen til tjek af formlen på formellinjen for at kontrollere formlen. Hvis der opstår en fejl, skal du kontrollere de enkelte elementer af syntaksen.

Du har foretaget dig! Du lige har oprettet en måling ved hjælp af DAX og ikke en nemt en ad. Hvad gør denne formel er beregne det samlede salg for det forrige kvartal, afhængigt af de filtre, der er anvendt i en pivottabel eller et pivotdiagram.

Du har netop fået gennemgået nogle vigtige aspekter af DAX-formler. For det første, at formlen omfattede to funktioner. Bemærk, at funktionen PREVIOUSQUARTER er indlejret som et argument, der overføres til funktionen CALCULATE. DAX-formler kan indeholde op til 64 indlejrede funktioner. Det ikke sandsynligt, at en formel nogensinde ville indeholde så mange indlejrede funktioner. Sådan en formel ville faktisk være meget vanskelig at oprette og foretage fejlfinding i, og den ville sandsynligvis heller ikke være særlig hurtig.

I denne formel har du også brugt filtre. Filtre begrænser det, der skal beregnes. I dette tilfælde har du valgt et filter som argument, hvilket i virkeligheden er en anden funktion. Du lærer mere om filtre senere.

Endelig har du brugt funktionen CALCULATE. Det er en af de mest effektive funktioner i DAX. Når du opretter datamodeller og mere komplekse formler, vil du sandsynligvis bruge denne funktion mange gange. Funktionen CALCULATE bliver ikke gennemgået i denne Hurtig start, men efterhånden som du bliver mere fortrolig med DAX, bør du være særlig opmærksom på denne funktion.

Bemærk: Hvis du vil bruge tidsintelligente funktioner i DAX-formler, skal du normalt angive en entydig datokolonne ved hjælp af dialogboksen Markér som datotabel. I projektmappen Contoso DAX Formula Samples.xlsx er kolonnen DateKey i tabellen DimDate valgt som den entydige datokolonne.

Flere oplysninger

Du kan stille: 'Hvad er den nemmeste DAX-formel, som jeg kan oprette'? Svaret på, der er godt, 'den formel, du ikke behøver at'. Og det er præcis, hvad du kan gøre ved hjælp af en standardsammenlægning funktion i en måling. Næsten alle datamodel skal bruge til at filtrere og beregne aggregerede data. For eksempel bruges funktionen SUM i målingen Sum of Sales Amount, du fik vist tidligere til at addere alle tallene i en bestemt kolonne. DAX indeholder flere andre funktioner, der sammenlægge værdier samt. Du kan automatisk oprette formler ved hjælp af standard sammenlægninger ved hjælp af funktionen AutoSum.

Ekstra kredit opgave: Opret en måling formel ved hjælp af funktionen AutoSum

  1. Rul til kolonnen ReturnQuantity i tabellen FactSales, og klik derefter på kolonneoverskriften for at markere hele kolonnen.

  2. Klik på knappen AutoSum på båndet i gruppen beregninger under fanen Startside.

AutoSum i PowerPivot

  1. Klik på pil ned ud for AutoSum, og klik derefter på gennemsnittet (meddelelse om de andre standardsammenlægning fungerer du kan bruge, for).
    Med det samme, der oprettes et nyt mål med navnet gennemsnit af ReturnQuantity: efterfulgt af formlen = AVERAGE([ReturnQuantity]).

Det var da nemt, ikke? Selvfølgelig er alle de formler, du opretter, ikke så enkle. Men ved at bruge funktionen AutoSum kan du hurtigt og nemt oprette formler ved hjælp af standardsammenlægningsberegninger.

Det bør give dig en ret god forståelse af den syntaks, der anvendes i DAX-formler. Du har også hørt om nogle virkelig smarte funktioner, f.eks. IntelliSense og AutoSum, der hjælper dig med hurtigt og nemt at oprette korrekte formler. Der er selvfølgelig meget mere, du kan lære om syntaks. Et godt sted at lære mere er DAX Reference eller SQL Books Online.

Hurtig quiz i syntaks

  1. Hvad gør denne knap på formellinjen?
    Funktionsknap

  2. Hvad omgiver altid et kolonnenavn i en DAX-formel?

  3. Hvordan vil du skriver en formel til følgende:
    i den DimProduct tabel for hver række i den UnitMargin beregnet kolonne, beregne en værdi ved at trække værdierne i den enhedsomkostning kolonne fra værdier i den Enhedspris kolonne?

Svarene er angivet i slutningen af dette emne.

Funktioner

Funktioner er foruddefinerede formler, der kan udføre beregninger ved hjælp af bestemte værdier, kaldet argumenter, der angives i en bestemt rækkefølge eller struktur. Argumenter kan være andre funktioner, andre formler, kolonnereferencer, tal, tekst, logiske værdier, f.eks. TRUE eller FALSE, eller konstanter.

DAX omfatter følgende kategorier af funktioner: dato og klokkeslæt, oplysninger, logiske, matematiske, statistiske, tidsintelligente funktioner samt tekstfunktioner. Hvis du er fortrolig med funktioner i Excel-formler, vil du kunne nikke genkendende til mange af funktionerne i DAX. DAX-funktioner er dog unikke på følgende måder:

  • En DAX-funktion refererer altid til en komplet kolonne eller tabel. Hvis du kun vil bruge bestemte værdier fra en tabel eller kolonne, kan du føje filtre til formlen.

  • Hvis du har brug for at tilpasse beregningerne rækkevis, indeholder DAX funktioner, der giver mulighed for at bruge den aktuelle rækkeværdi eller en relateret værdi som en slags argument til at udføre beregninger, der varierer efter konteksten. Du lærer mere om kontekst senere.

  • DAX omfatter mange funktioner, som returnerer en tabel i stedet for en værdi. Tabellen vises ikke men bruges til at angive oplysninger til andre funktioner. Du kan f.eks. hente en tabel og derefter tælle værdierne i den eller beregne dynamiske summer på tværs af filtrerede tabeller eller kolonner.

  • DAX indeholder en række forskellige tidsintelligente funktioner. Med disse funktioner kan du definere eller vælge datointervaller og foretage dynamiske beregninger på basis af dem. Du kan for eksempel sammenligne summer på tværs af parallelle perioder.

Nogle gange er det svært at vide, hvilke funktioner du skal bruge i en formel. Power Pivot, og tabelmodeldesigneren i SQL Server Data Tools, indeholder funktionen Indsæt funktion, som er en dialogboks, der gør det muligt at vælge funktioner efter kategori og angiver en kort beskrivelse af hver funktion.

Indsæt funktion

Lad os oprette en ny formel, som indeholder en funktion, du vælger, ved hjælp af funktionen Indsæt funktion:

Opgave: Tilføj en funktion i en formel ved hjælp af Indsæt funktion.

  1. Rul i tabellen FactSales til kolonnen længst til højre, og klik derefter på Tilføj kolonne i kolonneoverskriften.

  2. Indtast et lighedstegn, =, i formellinjen.

  3. Klik på knappen Indsæt funktion. Indsæt funktion Derefter åbnes dialogboksen Indsæt funktion.

  4. Klik på listen Vælg en kategori i dialogboksen Indsæt funktion. Alle er som standard valgt, og alle funktionerne i kategorien Alle er angivet nedenfor. Det er rigtig mange funktioner. Du kan filtrere funktionerne for at gøre det nemmere at finde den type funktion, du søger efter.

  5. For denne formel ønsker du at returnere data, som allerede findes i en anden tabel. Til dette skal du bruge en funktion i kategorien Filter. Klik på kategorien Filter, og rul ned i Vælg en funktion, og dobbeltklik på funktionen RELATED. Klik på OK for at lukke dialogboksen Indsæt funktion.

  6. Brug IntelliSense til at finde og vælge kolonnen DimChannel[ChannelName].

  7. Luk formlen, og tryk derefter på Enter.

  8. Når du har trykket på Enter for at færdiggøre formlen, vises ordet Beregner på statuslinjen langs bunden af Power Pivot-vinduet. Nu kan du se, at du netop har oprettet en ny kolonne i tabellen FactSales med kanaloplysninger fra tabellen DimChannel.

  9. Omdøb kolonnen Channel.

    Formlen skal se sådan ud: =RELATED(DimChannel[ChannelName])

Du blev lige introduceret til en anden meget vigtig funktion i DAX, funktionen RELATED. Funktionen RELATED returnerer værdier fra en anden tabel. Du kan bruge RELATED, hvis der er en relation mellem den tabel, du er i, og den tabel, som indeholder de værdier, du vil hente. Det siger sig selv, at funktionen RELATED har uanede muligheder. I dette tilfælde kan du nu medtage salgskanalen for hvert salg i tabellen FactSales. Du kan nu skjule tabellen DimChannel, så den ikke er vist på pivottabelfeltlisten, hvilket gør det nemmere at navigere og kun vise de allervigtigste oplysninger, du har brug for. Lige som funktionen CALCULATE, som er beskrevet tidligere, er funktionen RELATED meget vigtig, og du vil komme til at bruge den mange gange.

Som du kan se, kan funktionerne i DAX hjælpe dig med at oprette meget effektive formler. Vi har kun beskrevet de grundlæggende funktioner. Efterhånden som du lærer DAX bedre at kende, vil du oprette formler med mange forskellige funktioner. Ét af de bedste steder at lære mere om alle DAX-funktionerne er i Reference til Data Analysis Expressions (DAX).

Hurtig quiz i funktioner

  1. Hvad henviser en funktion altid til?

  2. Kan en formel indeholde mere end én funktion?

  3. Hvilken kategori af funktioner ville du bruge til at sammenkæde to tekststrenge i én streng?

Svarene er angivet i slutningen af dette emne.

Kontekst

Kontekst er et af de vigtigste DAX-begreber. Der er to typer kontekst i DAX: rækkekontekst og filterkontekst. Vi vil først se på rækkekontekst.

Rækkekontekst

Rækkekontekst kan bedst beskrives som den aktuelle række. Tag f.eks. den beregnede kolonne Margin, som du så tidligere, da vi gennemgik syntaks? Formlen =[SalesAmount] - [TotalCost] beregner en værdi i kolonnen Margin for hver række i tabellen. Værdier for hver række beregnes på basis af værdier i kolonnerne [SalesAmount] og [TotalCost] i den samme række. DAX kan beregne værdierne for hver række i kolonnen Margin, fordi det har konteksten: for hver række hentes der værdier i kolonnen [TotalCost], som subtraheres fra værdier i kolonnen [SalesAmount].

I den valgte celle, som er vist nedenfor, blev værdien USD 49,54 i den aktuelle række beregnet ved at subtrahere værdien USD 51,54 i kolonnen [TotalCost] fra værdien USD 101,08 i kolonnen [SalesAmount].

Rækkekontekst i PowerPivot

Rækkekontekst gælder ikke kun for beregnede kolonner. Rækkekontekst gælder også, når en formel indeholder en funktion, der gælder filtre for at identificere en enkelt række i en tabel. Funktionen gælder uden videre en rækkekontekst for hver række i tabellen, der sker filtrering. Denne type rækkekontekst gælder oftest for mål.

Filterkontekst

Filterkontekst er lidt sværere at forstå end rækkekontekst. Det er nemmest at tænke på filterkontekst som ét eller flere filtre, som anvendes i en beregning, og som bestemmer et resultat eller en værdi.

Filterkontekst bruges ikke i stedet for rækkekontekst. Den anvendes snarere sammen med rækkekontekst. Du kan f.eks. begrænse de værdier, der skal medtages i en beregning, yderligere ved at anvende en filterkontekst, der ikke blot angiver rækkekonteksten men også kun angiver én bestemt værdi (filter) i den pågældende rækkekontekst.

Filterkontekst ses tydeligt i pivottabeller. Når du f.eks. føjer TotalCost til området Values og derefter føjer Year og Region til rækken eller kolonnerne, definerer du en filterkontekst, som vælger et undersæt af data på basis af et bestemt år eller område.

Hvorfor er filterkontekst så vigtig til DAX? Da, mens filterkontekst kan den nemmeste måde anvendes ved at tilføje kolonne og rækkeetiketter og udsnit i en pivottabel, filterkontekst kan også anvendes i en DAX-formel ved at definere et filter ved hjælp af funktioner som alle, relateret, FILTER, CALCULATE, relationer og andre målinger og kolonner. For eksempel Lad os se på følgende formel i en måling med navnet StoreSales:

Formel

Denne formel er tydeligvis mere kompleks end nogle af de andre formler, du har set. For bedre at forstå denne formel kan vi dog beskrive de enkelte elementer i formlen detaljeret, omtrent som vi har gjort med andre formler.

Denne formel omfatter følgende syntakselementer:

  1. Navnet på måling StoreSales, efterfulgt af et kolon:.

  2. Lighedstegnsoperatoren (=) angiver starten af beregningsformlen.

  3. Funktionen CALCULATE evaluerer et udtryk, som et argument, i en kontekst, som ændres af de angivne filtre.

  4. Parentes () omgiver et eller flere argumenter.

  5. En måling [Sales] i den samme tabel som et udtryk. Målingen salg har formlen: = SUM(FactSales[SalesAmount]).

  6. Et komma (,) adskiller hvert filter.

  7. Den refererede kolonne og en bestemt værdi, DimChannel[ChannelName] =”Store”, som filter.

Denne formel sikrer kun salgsværdier, defineret af målingen salg som et filter, der beregnes kun for rækker i kolonnen DimChannel [ChannelName] med værdien "Store", som filter.

Som du kan forestille dig, har muligheden for at definere filterkontekst i en formel enorme og effektive muligheder. Du vil f.eks. kunne referere til en enkelt bestemt værdi i en relateret tabel. Det gør ikke noget, at du ikke forstår kontekst til bunds lige med det samme. Når du opretter dine egne formler, vil det være nemmere at forstå kontekst, og hvorfor den er så vigtig i DAX.

Hurtig quiz i kontekst

  1. Hvilke to typer kontekst er der?

  2. Hvad er filterkontekst?

  3. Hvad er rækkekontekst?

Svarene er angivet i slutningen af dette emne.

Oversigt

Nu hvor du har en grundlæggende forståelse af de vigtigste begreber i DAX, kan du begynde at oprette DAX-formler til beregnede kolonner og målinger på din egen. DAX faktisk kan være svært at få mere at vide, men der er mange ressourcer tilgængelige for dig. Når læse gennem dette emne nogle gange, og at eksperimentere med nogle af dine egne formler, du kan læse mere om andre DAX-begreber og formler, der kan hjælpe dig med at løse dine egne forretningsmæssige problemer. Der er mange DAX-ressourcer tilgængelige for dig i Power Pivot hjælp, SQL Server bøger Online, hvidbøger og blogge fra både Microsoft og foranstillet BI professionelle. DAX Resource Center Wiki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) er et godt sted at starte. Data Analysis Expressions (DAX) Reference er også en god ressource. Sørg for at gemme det i dine favoritter.

DAX i hvidbogen BI Tabular Model, som kan hentes (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409), indeholder en mere detaljeret beskrivelse af de begreber, vi har nævnt her, samt mange andre avancerede begreber og formler. Denne hvidbog bruger også projektmappen Contoso DAX Sample Formulas.xlsx, som du allerede har.

Svar på hurtig quiz

Syntaks:

  1. Åbner funktionen Indsæt funktion.

  2. Kantede parenteser [].

  3. =[UnitPrice] - [UnitCost]

Funktioner:

  1. En tabel og en kolonne.

  2. Ja. En formel kan indeholde op til 64 indlejrede funktioner.

  3. Tekstfunktioner

Kontekst:

  1. Rækkekontekst og filterkontekst

  2. Ét eller flere filtre i en beregning, der bestemmer en enkelt værdi.

  3. Den aktuelle række.

Bemærk: Ansvarsfraskrivelse for maskinoversættelse: Denne artikel er blevet oversat af et computersystem uden menneskelig indgriben. Microsoft tilbyder disse maskinoversættelse for at hjælpe ikke-engelsktalende brugere til at kunne nyde indhold om Microsofts produkter, tjenester og teknologier. Da artiklen er maskinoversat, kan den indeholde forkerte ord eller syntaks- eller grammatikfejl.

Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×