Applies ToExcel til Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

Denne hurtig introduktion er beregnet til brugere, der ikke tidligere har Power Pivot i Excel eller tabelmodelprojekter, der er oprettet i SQL Server Data Tools. Det er beregnet til at give dig en hurtig og nem introduktion til, hvordan du kan bruge DAX (Data Analysis Expressions) til at løse en række grundlæggende datamodellerings- og analyseproblemer. Dette emne indeholder grundlæggende oplysninger, en række opgaver, du kan udføre, og et par tests til at teste det, du har lært. Når du har fuldført dette emne, skal du have en god forståelse af de mest grundlæggende grundlæggende 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. DaX hjælper dig med at oprette nye oplysninger ud fra data, der allerede findes i modellen.

Hvorfor er DAX så vigtig?

Det er nemt at oprette en projektmappe og importere nogle data til den. Du kan endda oprette pivottabeller eller pivotdiagrammer, der viser vigtige oplysninger uden at bruge DAX-formler. Men hvad nu, hvis du har brug for at analysere vigtige salgsdata på tværs af flere produktkategorier og for forskellige datointervaller? Eller har du brug for at kombinere vigtige lagerdata fra flere tabeller i forskellige datakilder? DAX-formler giver også denne funktionalitet og mange andre vigtige funktioner. Hvis du lærer, hvordan du opretter effektive DAX-formler, får du mest mulig ud af dine data. Når du får de oplysninger, du har brug for, kan du begynde at løse reelle forretningsmæssige problemer, der påvirker din bundlinje. Dette er Business Intelligence, og DAX hjælper dig med at komme dertil.

Forudsætninger

Du er måske allerede bekendt med at oprette formler i Microsoft Excel. Denne viden vil være nyttig i forståelsen af DAX, men selvom du ikke har nogen 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 virkelige BI-problemer med det samme.

Vi vil fokusere specifikt på at forstå DAX-formler, der bruges i beregninger. Du bør allerede være fortrolig med grundlæggende begreber for både beregnede kolonner og målinger (også kaldet beregnede felter), som begge er beskrevet i Power Pivot Hjælp. Du skal også være fortrolig med Power Pivot i Excel-oprettelsesmiljøet og -værktøjerne.

Eksempelprojektmappe

Den bedste måde at lære DAX på er at oprette nogle grundlæggende formler, bruge dem med nogle faktiske data og se resultaterne for dig selv. Eksemplerne og opgaverne her bruger Projektmappen Contoso Sample DAX Formulas.xlsx. Du kan downloade projektmappen fra http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Når projektmappen er hentet til computeren, skal du åbne den og derefter åbne vinduet Power Pivot .

Lad os begynde!

Vi vil ramme DAX omkring tre meget vigtige grundlæggende begreber: Syntaks, funktioner og kontekst. Selvfølgelig er der andre vigtige begreber i DAX, men hvis du forstår disse tre begreber, vil det give det bedste grundlag for at opbygge dine DAX-færdigheder.

Syntaks

Før du opretter dine egne formler, så lad os se nærmere på DAX-formelsyntaks. Syntaksen omfatter de forskellige elementer, der udgør en formel, eller mere enkelt, hvordan formlen skrives. Lad os f.eks. se på en simpel DAX-formel, der bruges til at oprette nye data (værdier) for hver række i en beregnet kolonne, kaldet Margen, i en FactSales-tabel: (tekstfarver i formler er kun til illustration)

Formel for beregnet kolonne

Syntaksen for denne formel omfatter følgende elementer:

  1. Lighedstegnsoperatoren (=) angiver starten af formlen, og når denne formel beregnes, returnerer den et resultat eller en værdi. Alle formler, der beregner en værdi, begynder med et lighedstegn.

  2. Den refererede kolonne [Salgsbeløb] indeholder de værdier, vi vil subtrahere fra. En kolonnereference i en formel er altid omgivet af kantede parenteser []. I modsætning til Excel-formler, der refererer til en celle, refererer en DAX-formel altid til en kolonne.

  3. Den matematiske subtraktionsoperator (-).

  4. Den refererede kolonne [TotalCost] indeholder de værdier, vi vil subtrahere fra værdier i kolonnen [Salgsbeløb].

Når du forsøger at forstå, hvordan du læser en DAX-formel, er det ofte nyttigt at opdele hvert af elementerne i et sprog, du tænker og taler hver dag. Du kan f.eks. læse denne formel som:

I tabellen FactSales skal du for hver række i den beregnede kolonne Margen beregne (=) en værdi ved at subtrahere (-) værdier i kolonnen [ TotalCost ] fra værdierne i kolonnen [ Salgsbeløb ].

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

Formel for beregnet kolonne

Denne formel indeholder følgende syntakselementer:

  1. Målingsnavnet Summen af salgsbeløb. Formler til målinger kan indeholde målenavnet efterfulgt af et kolon efterfulgt af beregningsformlen.

  2. Lighedstegnsoperatoren (=) angiver starten af beregningsformlen. Når den beregnes, returneres et resultat.

  3. Funktionen SUM lægger alle tallene i kolonnen [Salgsbeløb] sammen. Du kan få mere at vide om funktioner senere.

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

  5. Den refererede tabel FactSales.

  6. Den refererede kolonne [Salgsbeløb] i tabellen FactSales. Med dette argument ved funktionen SUM, hvilken kolonne der skal sammenlægges en SUM.

Du kan læse denne formel som:

For målingen Sum af salgsbeløb skal du beregne (=) summen af værdier i kolonnen [ Salgsbeløb ] i tabellen FactSales .

Når den er placeret i placeringszonen Værdier i en pivottabelfeltliste, beregner og returnerer denne måling værdier, der er defineret af hver celle i pivottabellen, f.eks. Mobiltelefoner i USA.

Bemærk, at der er et par forskellige ting ved denne formel sammenlignet med den formel, vi brugte til den beregnede kolonne Margen. Især introducerede vi en funktion, SUM. Funktioner er forudskrevne formler, der gør det nemmere at udføre komplekse beregninger og manipulationer med tal, datoer, klokkeslæt, tekst og meget mere. Du kan få mere at vide om funktioner senere.

I modsætning til den beregnede kolonne Margen tidligere vises kolonnen [Salgsbeløb] efter tabellen FactSales, hvori kolonnen hører til. Dette kaldes et fuldt kvalificeret kolonnenavn, idet det indeholder kolonnenavnet med tabelnavnet foran. Kolonner, der refereres til i samme tabel, kræver ikke, at tabelnavnet medtages i formlen. Dette kan gøre lange formler, der refererer til mange kolonner kortere og nemmere at læse. Det er dog god praksis altid at medtage tabelnavnet i måleformlerne, 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 sætte tabelnavnet i enkelte anførselstegn. Du skal også sætte tabelnavne i anførselstegn, hvis navnet indeholder tegn uden for ANSI's alfanumeriske tegnområde, uanset om din landestandard understøtter tegnsættet eller ej.

Det er meget vigtigt, at dine formler har den korrekte syntaks. Hvis syntaksen i de fleste tilfælde ikke er korrekt, returneres en syntaksfejl. I andre tilfælde kan syntaksen være korrekt, men de returnerede værdier er muligvis ikke det, du forventer. Power Pivot (og SQL Server Data Tools) omfatter IntelliSense. En funktion, der bruges til at oprette syntaktisk korrekte formler ved at hjælpe dig med at vælge de rigtige elementer.

Lad os oprette en simpel formel. Denne opgave hjælper dig med at forstå formelsyntaksen yderligere, og hvordan intelliSense-funktionen på formellinjen kan hjælpe dig.

Opgave: Opret en simpel formel til en beregnet kolonne

  1. Hvis du ikke allerede er i vinduet Power Pivot , skal du klikke på Power Pivot Vindue på båndet Power Pivot i Excel.

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

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

  4. Klik på formellinjen langs toppen af vinduet modeldesigner.

    PowerPivot-formellinje

    Markøren vises nu på formellinjen. På formellinjen kan du skrive en formel til 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 på formellinjen, bliver disse tre knapper aktive. Knappen længst til venstre, X, er blot en annuller-knap. Bare klik på den. Markøren vises ikke længere på formellinjen, og knappen Annuller og afkrydsningsknappen vises ikke længere. Gå videre, og klik på formellinjen igen. Knappen Annuller og afkrydsningsknappen vises nu igen. Det betyder, at du er klar til at begynde at indtaste en formel.

    Afkrydsningsknappen er knappen Kontrollér formel. Der sker ikke meget, før du har angivet en formel. Vi vender tilbage til det om lidt.

    Klik på knappen Fx . Du kan se, at der vises en ny dialogboks. dialogboksen Indsæt funktion. Dialogboksen Indsæt funktion er den nemmeste måde at komme i gang med at angive en DAX-formel på. Vi føjer en funktion til en formel, når vi opretter en måling lidt senere, men lige nu behøver du ikke at føje en funktion til formlen for den beregnede kolonne. Luk dialogboksen Indsæt funktion.

  5. Skriv et lighedstegn =på formellinjen, og skriv derefter en venstreparentes [. Der vises et lille vindue med alle kolonnerne i tabellen FactSales. Dette er IntelliSense i aktion.

    Da beregnede kolonner altid oprettes i den aktive tabel, du befinder dig i, er der ingen grund til at skrive tabelnavnet foran kolonnenavnet. Gå videre, rul ned, og dobbeltklik derefter på [Salgsantal]. Du kan også rulle til det ønskede kolonnenavn og derefter trykke på tabulatortasten.

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

  6. Skriv et mellemrum, og skriv derefter en subtraktionsoperator – (et minustegn), og skriv derefter et andet mellemrum.

  7. Nu skal du skrive en anden venstreparentes [. Denne gang skal du markere kolonnen [ReturnQuantity] og derefter trykke på Enter.

    Hvis du får en fejl, skal du kigge nøje på din syntaks. Hvis det er nødvendigt, skal du sammenligne den med formlen i den beregnede kolonne Margen, der er beskrevet tidligere.

    Når du har trykket på Enter for at fuldføre formlen, vises ordet Beregning på statuslinjen nederst i Power Pivot -vinduet. Det går hurtigt, selvom 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! Du har lige oprettet en enkel, men meget effektiv DAX-formel. For hver række i tabellen FactSales beregner formlen NetSales en værdi ved at trække værdien i kolonnen [ReturnQuantity] fra værdien i kolonnen [Salgsantal]. Læg mærke til, hvordan vi lige har sagt "For hver række". Dette er et glimt af et andet meget vigtigt koncept i DAX; rækkekontekst. Du kan få mere at vide om rækkekontekst senere.

Noget virkelig vigtigt at forstå, når du skriver en operator i en DAX-formel, er datatypen i de argumenter, du bruger. Hvis du f.eks. skriver følgende formel= 1 & 2, vil den returnerede værdi være en tekstværdi på "12". Dette skyldes, at og-tegnet (&) er til tekstsammenføjning. DAX fortolker denne formel til at læse: Beregn et resultat ved at tage værdien 1 som tekst og tilføje værdi 2 som tekst. Hvis du nu skulle skrive = 1 + 2, læser DAX denne formel som: Beregn et resultat ved at tage den numeriske værdi 1 og addere den numeriske værdi 2. Resultatet er selvfølgelig "3", en numerisk værdi. DAX beregner de resulterende værdier afhængigt af operatoren i formlen, ikke baseret på datatypen for kolonner, der bruges i argumentet. Datatyper i DAX er meget vigtige, men uden for denne hurtig start. Du kan få mere at vide om datatyper og operatorer i DAX-formler i DAX-referencen (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) i Books Online.

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

Opgave: Opret en måleformel

  1. I tabellen FactSales skal du klikke i en tom celle i beregningsområdet. Dette er området med tomme celler lige under en tabel i vinduet Power Pivot .

PowerPivot-beregningsområde

  1. På formellinjen skal du skrive navnet Forrige kvartal Salg:.

  2. Skriv et lighedstegn = for at starte beregningsformlen.

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

  4. Skriv en venstreparentes ( for at begynde de argumenter, der skal overføres til funktionen BEREGN.

    Bemærk, at når du har skrevet venstreparentes, viser IntelliSense de argumenter, der kræves til funktionen BEREGN. Du lærer lidt om argumenter.

  5. Skriv de første par bogstaver i tabellen FactSales , og dobbeltklik derefter på FactSales[Salg]på rullelisten.

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

    Når du har valgt funktionen PREVIOUSQUARTER, vises en anden venstreparentes, der angiver, at der kræves et andet argument. denne gang for funktionen FORRIGE KVARTAL.

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

  8. Luk både det argument, der overføres til funktionen PREVIOUSQUARTER, og funktionen CALCULATE ved at skrive to højreparenteser )).

    Formlen bør nu se sådan ud:

    Forrige kvartalssalg:=CALCULATE(FactSales[Salg], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Klik på knappen Kontrollér formel på formellinjen for at validere formlen. Hvis du får en fejl, skal du kontrollere hvert element i syntaksen.

Du gjorde det! Du har lige oprettet en måling ved hjælp af DAX, og ikke en let en på det. Hvad denne formel vil gøre, er at beregne det samlede salg for det forrige kvartal, afhængigt af de filtre, der er anvendt i en pivottabel eller et pivotdiagram.

Du er netop blevet introduceret til flere vigtige aspekter af DAX-formler. For det første omfattede denne formel to funktioner. Bemærk, at funktionen PREVIOUSQUARTER er indlejret som et argument, der overføres til funktionen BEREGN . DAX-formler kan indeholde op til 64 indlejrede funktioner. Det er usandsynligt, at en formel nogensinde vil indeholde så mange indlejrede funktioner. Faktisk ville en sådan formel være meget vanskelig at oprette og fejlfinde, og det ville sandsynligvis heller ikke være meget hurtigt.

I denne formel har du også brugt filtre. Filtre indsnævrer, hvad der skal beregnes. I dette tilfælde har du valgt ét filter som argument, hvilket faktisk er en anden funktion. Du kan få mere at vide om filtre senere.

Til sidst brugte du funktionen CALCULATE. Dette er en af de mest kraftfulde funktioner i DAX. Når du opretter datamodeller og opretter mere komplekse formler, vil du sandsynligvis bruge denne funktion mange gange. At diskutere funktionen BEREGN er uden for denne hurtig start, men efterhånden som din viden om DAX vokser, skal du være særlig opmærksom på denne.

Bemærk!: Hvis du vil bruge Time Intelligence-funktioner i DAX-formler, skal du typisk 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.

Ekstra kredit

Du spørger måske: "Hvad er den enkleste DAX-formel, jeg kan oprette?" Svaret på dette er "den formel, du ikke behøver at". Og det er præcis, hvad du kan gøre ved at bruge en standardsammenlægningsfunktion i en måling. Næsten alle datamodeller skal filtrere og beregne på aggregerede data. Funktionen SUM i målingen Sum af salgsbeløb, du så tidligere, bruges f.eks. til at lægge alle tallene i en bestemt kolonne sammen. DAX indeholder flere andre funktioner, der også aggregerer værdier. Du kan automatisk oprette formler ved hjælp af standardsammenlægninger ved hjælp af funktionen Autosum.

Ekstra kreditopgave: Opret en måleformel 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 i gruppen Beregninger på båndet under fanen Hjem.

AutoSum i PowerPivot

Klik på pil ned ud for Autosum, og klik derefter på Gennemsnit (bemærk også de andre standardsammenlægningsfunktioner, du kan bruge).

Straks oprettes der en ny måling med navnet Gennemsnit af Returantal: efterfulgt af formlen =MIDDEL([ReturnQuantity]).

Var det ikke så nemt? Det er selvfølgelig ikke alle formler, du opretter, der er så enkle. Men ved hjælp af funktionen Autosum kan du oprette hurtige og nemme formler ved hjælp af standardsammenlægningsberegninger.

Dette bør give dig en ret god forståelse af syntaks, der bruges i DAX-formler. Du blev også introduceret til nogle virkelig smarte funktioner som IntelliSense og AutoSum for at hjælpe dig med at oprette hurtige, nemme og nøjagtige formler. Der er selvfølgelig meget mere, du kan lære om syntaks. Et godt sted at få mere at vide er DAX Reference eller SQL Books Online.

Syntaks QuickQuiz

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

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

  3. Hvordan ville du skrive en formel til følgende:I tabellen DimProduct skal du for hver række i den beregnede Kolonne UnitMargin beregne en værdi ved at trække værdierne i kolonnen UnitCost fra værdierne i kolonnenEnhedspris?

Du kan finde svar i slutningen af dette emne.

Funktioner

Funktioner er foruddefinerede formler, der udfører beregninger ved hjælp af bestemte værdier, kaldet argumenter, i en bestemt rækkefølge eller struktur. Argumenter kan være andre funktioner, en anden formel, kolonnereferencer, tal, tekst, logiske værdier som SAND eller FALSK eller konstanter.

DAX indeholder følgende kategorier af funktioner: Dato og klokkeslæt, oplysninger, logiske, matematiske, statistiske, tekst- og tidsintelligensfunktioner. Hvis du er bekendt med funktioner i Excel-formler, vil mange af funktionerne i DAX se ud som dig. DAX-funktioner er dog entydige på følgende måder:

  • En DAX-funktion refererer altid til en komplet kolonne eller en 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 beregninger række for række, indeholder DAX funktioner, der gør det muligt at bruge den aktuelle rækkeværdi eller en relateret værdi som en slags argument til at udføre beregninger, der varierer efter kontekst. Du kan få mere at vide om kontekst senere.

  • DAX indeholder mange funktioner, der returnerer en tabel i stedet for en værdi. Tabellen vises ikke, men bruges til at give input til andre funktioner. Du kan f.eks. hente en tabel og derefter tælle de entydige værdier i den eller beregne dynamiske summer på tværs af filtrerede tabeller eller kolonner.

  • DAX indeholder en række funktioner til tidsintelligens. Med disse funktioner kan du definere eller vælge datointervaller og udføre dynamiske beregninger baseret på dem. Du kan f.eks. sammenligne summer på tværs af parallelle perioder.

Nogle gange er det svært at vide, hvilke funktioner du muligvis skal bruge i en formel. Power Pivotog tabelmodeldesigneren i SQL Server Data Tools omfatter funktionen Indsæt funktion, som er en dialogboks, der hjælper dig med at vælge funktioner efter kategori og indeholder korte beskrivelser af hver funktion.Indsæt funktion

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

Opgave: Føj en funktion til en formel ved hjælp af Funktionen Indsæt

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

  2. På formellinjen skal du skrive et lighedstegn, =.

  3. Klik på knappen Indsæt funktion . Indsæt funktion Dette åbner dialogboksen Indsæt funktion .

  4. I dialogboksen Indsæt funktion skal du klikke på listen Vælg en kategori . Som standard er Alle markeret, og alle funktionerne i kategorien Alle er angivet nedenfor. Det er mange funktioner, så du skal filtrere funktionerne for at gøre det nemmere at finde den type funktion, du leder efter.

  5. For denne formel vil du returnere nogle data, der allerede findes i en anden tabel. Til det formål skal du bruge en funktion i kategorien Filter. Gå videre, og klik på kategorien Filter , og rul ned i Vælg en funktion, og dobbeltklik på funktionen RELATERET. 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 fuldføre formlen, vises ordet Beregning på statuslinjen nederst i Power Pivot -vinduet. Nu kan du se, at du lige har oprettet en ny kolonne i tabellen FactSales med kanaloplysninger fra tabellen DimChannel.

  9. Omdøb kolonnen Kanal.

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

Du er netop blevet 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 aktuelt befinder dig i, og den tabel, der indeholder de værdier, du vil have. Funktionen RELATERET har selvfølgelig enorme muligheder. I dette tilfælde kan du nu medtage salgskanalen for hvert salg i tabellen FactSales. Du kan nu skjule tabellen DimChannel fra pivottabelfeltlisten, hvilket gør det nemmere at navigere og kun få vist de vigtigste oplysninger, du virkelig har brug for. Ligesom funktionen CALCULATE, der er beskrevet tidligere, er funktionen RELATERET meget vigtig, og du vil sandsynligvis bruge den mange gange.

Som du kan se, kan funktioner i DAX hjælpe dig med at oprette meget effektive formler. Vi var virkelig kun inde på det grundlæggende i funktioner. Efterhånden som dine DAX-færdigheder forbedres, opretter du formler ved hjælp af mange forskellige funktioner. Et af de bedste steder at få mere at vide om alle DAX-funktionerne er i DAX-referencen (Data Analysis Expressions).

Funktioner QuickQuiz

  1. Hvad refererer 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?

Du kan finde svar i slutningen af dette emne.

Kontekst

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

Rækkekontekst

Rækkekontekst betragtes mest som den aktuelle række. Kan du f.eks. huske den beregnede margenkolonne, du så tidligere, da du lærte om syntaks? Formlen =[Salgsbeløb] - [TotalCost] beregner en værdi i kolonnen Margen for hver række i tabellen. Værdier for hver række beregnes ud fra værdier i to andre kolonner, [SalesAmount] og [TotalCost] i samme række. DAX kan beregne værdierne for hver række i kolonnen Margen, fordi den har konteksten: For hver række tager den værdier i kolonnen [TotalCost] og subtraherer dem fra værdierne i kolonnen [Salgsbeløb].

I den markerede celle, der er vist nedenfor, blev værdien$ 49,54 i den aktuelle række beregnet ved at trække værdien $51,54 i kolonnen [TotalCost] fra værdien $101,08 i kolonnen [Salgsbeløb].

Rækkekontekst i PowerPivot

Rækkekontekst gælder ikke kun for beregnede kolonner. Rækkekontekst gælder også, når en formel har en funktion, der anvender filtre til at identificere en enkelt række i en tabel. Funktionen anvender i sig selv en rækkekontekst for hver række i tabellen, som den filtrerer over. Denne type rækkekontekst gælder oftest for målinger.

Filterkontekst

Filterkontekst er lidt sværere at forstå end rækkekontekst. Du kan nemt betragte filterkontekst som: Et eller flere filtre, der anvendes i en beregning, der bestemmer et resultat eller en værdi.

Filterkontekst findes ikke i stedet for rækkekontekst. I stedet gælder den ud over rækkekontekst. Hvis du f.eks. yderligere vil indskrænke de værdier, der skal medtages i en beregning, kan du anvende en filterkontekst, som ikke kun angiver rækkekonteksten, men også kun angiver en bestemt værdi (filter) i den pågældende rækkekontekst.

Filterkontekst er let at se i pivottabeller. Når du f.eks. føjer TotalCost til området Værdier og derefter føjer År og Område til rækken eller kolonnerne, definerer du en filterkontekst, der vælger et undersæt af data baseret på et givet år og område.

Hvorfor er filterkontekst så vigtig for DAX? Da filterkontekst lettest kan anvendes ved at tilføje kolonne- og rækkenavne og udsnit i en pivottabel, kan filterkontekst også anvendes i en DAX-formel ved at definere et filter ved hjælp af funktioner som ALL, RELATED, FILTER, CALCULATE, efter relationer og efter andre målinger og kolonner. Lad os f.eks. se på følgende formel i en måling med navnet StoreSales:

Formel

Det er klart, at denne formel er mere kompleks end nogle af de andre formler, du har set. Men for bedre at forstå denne formel kan vi opdele den, ligesom vi har gjort med andre formler.

Denne formel indeholder følgende syntakselementer:

  1. Målingsnavnet StoreSales efterfulgt af et kolon :.

  2. Lighedstegnsoperatoren (=) angiver starten af formlen.

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

  4. Parentes () omgiver et eller flere argumenter.

  5. En måling [Salg] i samme tabel som et udtryk. Målingen Salg indeholder formlen: =SUM(FactSales[Salgsbeløb]).

  6. Et komma (,) adskiller hvert filter.

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

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

Som du kan forestille dig, har det enorme og effektive egenskaber at kunne definere filterkontekst i en formel. At kunne referere til en bestemt værdi i en relateret tabel er blot ét eksempel. Bare rolig, hvis du ikke helt forstår konteksten med det samme. Når du opretter dine egne formler, vil du bedre forstå konteksten, og hvorfor det er så vigtigt i DAX.

Kontekst QuickQuiz

  1. Hvad er de to typer kontekst?

  2. Hvad er filterkontekst?

  3. Hvad er rækkekontekst?

Du kan finde svar i slutningen af dette emne.

Resume

Nu hvor du har en grundlæggende forståelse af de vigtigste begreber i DAX, kan du selv begynde at oprette DAX-formler til beregnede kolonner og målinger. DAX kan faktisk være lidt vanskelig at lære, men der er mange ressourcer til rådighed for dig. Når du har læst dette emne et par gange og eksperimenteret med nogle af dine egne formler, kan du få mere at vide om andre DAX-begreber og -formler, der kan hjælpe dig med at løse dine egne forretningsproblemer. Der er mange DAX-ressourcer tilgængelige i Power Pivot Hjælp, SQL Server Books Online, whitepapers og blogs fra både Microsoft og førende BI-fagfolk. Wikien DAX Resource Center (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) er et godt sted at starte. DAX-referencen (Data Analysis Expressions) er også en god ressource. Sørg for at gemme den i dine Favoritter.

Dax i hvidbogen BI Tabular Model, der kan downloades (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409), giver et mere detaljeret indblik i de begreber, der introduceres her, samt mange andre avancerede koncepter og formler. Denne hvidbog bruger også den samme Contoso DAX-eksempelFormulas.xlsx projektmappe, du allerede har.

QuickQuiz-svar

Syntaks:

  1. Åbner funktionen Indsæt funktion.

  2. Kantede parenteser [].

  3. =[Enhedspris] - [Enhedspris]

Funktioner:

  1. En tabel og en kolonne.

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

  3. Tekstfunktioner.

Sammenhæng:

  1. Rækkekontekst og filterkontekst.

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

  3. Den aktuelle række.

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.

Communities hjælper dig med at stille og besvare spørgsmål, give feedback og høre fra eksperter med omfattende viden.