Log på med Microsoft
Log på, eller opret en konto.
Hej
Markér en anden konto.
Du har flere konti
Vælg den konto, du vil logge på med.

Denne Hurtigstarter er for brugere, der Power Pivot i Excel eller tabelmodelprojekter, der er 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 fuldføre, og et par tests til at teste, hvad du har lært. Når du har fuldført dette emne, bør 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. Det er mere enkelt, at DAX hjælper dig med at oprette nye oplysninger 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 leverer denne funktionalitet og mange andre vigtige egenskaber. Hvis du vil lære, hvordan du opretter effektive DAX-formler, kan det hjælpe dig med at få mest muligt ud af dine data. Når du får de oplysninger, du skal bruge, kan du begynde at løse reelle forretningsmæssige problemer, der påvirker din bundlinje. Dette er Business Intelligence, og DAX kan hjælpe dig med at komme dertil.

Forudsætninger

Du har måske allerede kendskab til oprettelse af formler i Microsoft Excel. Denne viden vil være nyttig til at forstå DAX, men selvom du ikke har erfaring med Excel-formler, kan de koncepter, 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 fokuserer specifikt på at forstå DAX-formler, der bruges i beregninger. Du bør allerede have kendskab til 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 bør også være fortrolig med Power Pivot i Excel oprettelsesmiljø og værktøjer.

Eksempelprojektmappe

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

Lad os begynde!

VI omrammer DAX omkring tre meget vigtige grundlæggende begreber: Syntaks, funktioner og kontekst. Der er selvfølgelig andre vigtige begreber i DAX, men hvis du forstår disse tre begreber, giver 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-formelsyntaksen. Syntaksen indeholder de forskellige elementer, der udgør en formel, eller mere enkelt, hvordan formlen er skrevet. 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: (formeltekstfarver er kun vejledende)

Formel for beregnet kolonne

Denne formels syntaks indeholder følgende elementer:

  1. Operatoren er lig med-tegn (=) angiver starten af formlen, og når denne formel beregnes, returneres et resultat eller en værdi. Alle formler, der beregner en værdi, starter med et lighedstegn.

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

  3. Den matematiske operator subtraktion (-).

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

Når du forsøger at forstå, hvordan du læser en DAX-formel, er det ofte nyttigt at opdele hvert element 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 trække (-) værdier fra værdierne i kolonnen [TotalCost] fra værdierne i kolonnen[Salgbeløb].

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

Formel for beregnet kolonne

Denne formel indeholder følgende syntakselementer:

  1. Navnet på målingen Summen af salgsbeløb. Formler for målinger kan indeholde navnet på målingen efterfulgt af et kolon efterfulgt af beregningsformlen.

  2. Operatoren lig med-tegn (=) 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 videregiver en værdi til en funktion.

  5. Den refererede tabel FactSales.

  6. Den refererede kolonne [Salgbelø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 (=) summenaf værdierne i kolonnen [ Salgsbeløb] i tabellen FactSales.

Når den placeres i rullezonen 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. Vi har især introduceret 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 margenkolonne tidligere kan du se, at kolonnen [Salgbeløb] blev indledes af tabellen FactSales, hvor kolonnen tilhører. Dette kaldes et fuldt kvalificeret kolonnenavn, da det omfatter kolonnenavnet, der indledes med tabelnavnet. Kolonner, der refereres til i den 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 dine måleformler, 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 omslutte tabelnavnet med enkelte anførselstegn. Du skal også sætte tabelnavne i anførselstegn, hvis navnet indeholder tegn uden for ANSI-alfanumeriske tegnområde, uanset om landesættet 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 værdier, der returneres, er muligvis ikke det, du forventer. Power Pivot (og SQL Server Data Tools) omfatter IntelliSense; En funktion, der bruges til at oprette syntakst korrekte formler, ved at hjælpe dig med at vælge de korrekte elementer.

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

Opgave: Oprette en simpel formel til en beregnet kolonne

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

  2. I vinduet Power Pivot skal du klikke på tabellen FactSales (fane).

  3. Rul til kolonnen yderst 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. Formellinjen er stedet, hvor du kan skrive 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 på formellinjen, bliver disse tre knapper aktive. Knappen yderst til venstre, X,er blot en Annuller-knap. Bare klik på det. Markøren vises ikke længere på formellinjen, og knappen Annuller og markeringsknappen vises ikke længere. Bare klik på formellinjen igen. Knappen Annuller og markeringsknappen vises nu igen. Det betyder, at du er klar til at begynde at indtaste en formel.

    Knappen Markering er knappen Kontrollér formel. Der sker ikke meget, før du har angivet en formel. Vi vender tilbage til den 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 startparentes [. Du får vist et lille vindue med alle kolonnerne i tabellen FactSales. Dette er IntelliSense i aktion.

    Da beregnede kolonner altid oprettes i den aktive tabel, du arbejder i, er der ingen grund til at tilføje tabelnavnet før kolonnenavnet. Bare rul 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 skriv derefter en subtraktionsoperator - (et minustegn), og skriv derefter endnu et mellemrum.

  7. Skriv nu en anden startparentes [. Denne gang skal du vælge 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 det med formlen i den beregnede margenkolonne, der er beskrevet tidligere.

    Når du har trykket på Enter for at fuldføre formlen, vises ordet Beregner på statuslinjen langs bunden 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 og 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 [SalesQuantity]. Bemærk, 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 meget vigtigt at forstå, når du skriver en operator i en DAX-formel, er datatypen i de argumenter, du bruger. Hvis du f.eks. ville skrive følgende formel, = 1 & 2, ville den returnerede værdi være en tekstværdi på "12". Dette skyldes, at og-& (a0) er til tekstkontekst. 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 skriver = 1 + 2, læser DAX denne formel som: Beregn et resultat ved at tage den numeriske værdi 1 og lægge den numeriske værdi 2 sammen. Resultatet er selvfølgelig "3", en numerisk værdi. DAX beregner resultatvæ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 omfanget af 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 Bøger Online.

Lad os prøve et andet. Denne gang opretter du en måling ved at skrive formlen og ved at bruge 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ålingsformel

  1. Klik i en tom celle i beregningsområdet i tabellen FactSales. Dette er området med tomme celler lige under en tabel i Power Pivot vindue.

PowerPivot-beregningsområde

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

  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 skal du bruge funktionen BEREGN.

  4. Skriv en startparentes (for at begynde de argumenter, der skal overføres til funktionen CALCULATE).

    Bemærk, at når du har skrevet den indledende parentes, IntelliSense du de argumenter, der kræves til funktionen CALCULATE. Du lærer om argumenterne om lidt.

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

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

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

  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 skrive to højreparenteser )).

    Formlen bør nu se sådan ud:

    Salg forrige kvartal:=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 bekræfte hvert element i syntaksen.

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

Du er netop blevet introduceret til flere vigtige aspekter af DAX-formler. For det første indeholdt denne formel 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 er usandsynligt, at en formel nogensinde vil indeholde så mange indlejrede funktioner. Faktisk vil en sådan formel være meget svær at oprette og fejlfinde, og den vil sandsynligvis heller ikke være særlig hurtig.

I denne formel brugte du også filtre. Filtre indsnævrer, hvad der beregnes. I dette tilfælde valgte du ét filter som et 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 effektive funktioner i DAX. Efterhånden som du opretter datamodeller og opretter mere komplekse formler, vil du sandsynligvis bruge denne funktion mange gange. Når du diskuterer funktionen CALCULATE, er det uden for omfanget af denne Hurtig start, men i takt med at din viden om DAX vokser, skal du være særlig opmærksom på denne.

Bemærk!: For at kunne bruge Tidsintelligens-funktioner i DAX-formler skal du typisk angive en entydig datokolonne ved hjælp af dialogboksen Markér som datotabel. I projektmappen Contoso DAX-Samples.xlsx er kolonnen DateKey i tabellen DimDate valgt som den entydige datokolonne.

Ekstra kredit

Du spørger muligvis: "Hvad er den mest enkle DAX-formel, jeg kan oprette?" Svaret på dette er "den formel, du ikke behøver at bruge". Og det er præcis, hvad du kan gøre ved at bruge en standardsammenlægningsfunktion i en måling. Næsten enhver datamodel skal filtrere og beregne på aggregerede data. Eksempelvis bruges funktionen SUM i målingen Sum af salgsbeløb, som du så tidligere, til at lægge alle tallene sammen i en bestemt kolonne. DAX indeholder flere andre funktioner, som 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 knappen Autosum i gruppen Beregninger på fanen Hjem.

AutoSum i PowerPivot

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

Der oprettes straks en ny måling med navnet Middel af returquantitet: efterfulgt af formlen =MIDDEL([Returkvantitet]).

Var det ikke bare nemt? Det er naturligvis ikke alle formler, du opretter, der er så simple. Men ved hjælp af funktionen Autosum kan du oprette hurtige og nemme formler ved hjælp af almindelige aggregeringsberegninger.

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

Hurtig syntaksen

  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 for hver række i den beregnede kolonne UnitMargin skal du beregne en værdi ved at trække værdierne i kolonnen Enhedspris fra værdierne i kolonnen Enhedspris?

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, også 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 kender til funktioner i Excel, vil mange af funktionerne i DAX ligne dig. MEN DAX-funktioner er 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 beregninger række for række, indeholder DAX funktioner, som gør det muligt at bruge den aktuelle rækkeværdi eller en relateret værdi som et slags argument til at udføre beregninger, der varierer alt efter kontekst. Du kan få mere at vide om konteksten 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 forskellige værdier i den eller beregne dynamiske summer på tværs af filtrerede tabeller eller kolonner.

  • DAX indeholder en række forskellige 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 måske skal bruge i en formel. Power Pivotog tabelmodeldesigneren i SQL Server Data Tools ved at medtage 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 Indsæt funktion

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

  2. Skriv et lighedstegn = på formellinjen.

  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å det er en god ide at filtrere funktionerne for at gøre det nemmere at finde den type funktion, du leder efter.

  5. I denne formel skal du returnere nogle data, der allerede findes i en anden tabel. Til det vil du bruge en funktion i kategorien Filter. Bare klik på kategorien Filter, og rul derefter ned i Vælgen 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[Kanalnavn].

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

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

  9. Omdøb kolonnekanalen.

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

Du er lige 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 mange muligheder. I dette tilfælde kan du nu medtage salgskanalen for hvert salg i tabellen FactSales. Du kan nu skjule DimChannel-tabellen fra pivottabelfeltlisten, hvilket gør det nemmere at navigere og kun se de vigtigste oplysninger, du 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 har i virkeligheden kun rørt ved det grundlæggende om funktioner. Efterhånden som DINE DAX-færdigheder bliver bedre, kan du oprette formler ved hjælp af mange forskellige funktioner. Et af de bedste steder at få mere at vide om alle DAX-funktionerne er i Referencen til Data Analysis Expressions (DAX).

Funktioner QuickQuiz

  1. Hvad henviser en funktion altid til?

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

  3. Hvilken kategori af funktioner vil 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 er to typer kontekst i DAX: rækkekontekst og filterkontekst. Vi vil først se på rækkekontekst.

Rækkekontekst

Rækkekontekst er den mest almindelige måde at tænke på som den aktuelle række. Kan du f.eks. huske den beregnede margenkolonne, du så tidligere, når du lærte om syntaks? Formlen =[Salgbelø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, [Salgbeløb] og [SamletOmkostninger] 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ærdierne i kolonnen [TotalCost] og subtraherer dem fra værdierne i kolonnen [Salgbeløb].

I den markerede celle, der er vist nedenfor, blev værdien, DKK 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 [Salgbeløb].

Rækkekontekst i PowerPivot

Rækkekontekst gælder ikke kun for beregnede kolonner. Rækkekontekst anvendes 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 mest nemt tænke på 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 det ud over rækkekontekst. Hvis du f.eks. vil indskrænke de værdier, der skal medtages i en beregning, yderligere, kan du anvende en filterkontekst, som ikke blot angiver rækkekonteksten, men også kun angiver en bestemt værdi (filter) i den pågældende rækkekontekst.

Filterkontekst kan nemt ses 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, der er baseret på et bestemt år og område.

Hvorfor er filterkontekst så vigtigt for DAX? For mens filterkontekst er nem at anvende 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 StoreSalg:

Formel

Denne formel er tydeligt 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. Navnet på målingen StoreSalg efterfulgt af et kolon :.

  2. Operatoren er lig med-tegn (=) angiver starten af formlen.

  3. Funktionen CALCULATE evaluerer et udtryk som et 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[SalesAmount]).

  6. Et komma (,) adskiller hvert filter.

  7. Kolonnen, der refereres til, 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, kun beregnes for rækker i kolonnen DimChannel[Kanalnavn] med værdien "Store" som et filter.

Som du kan forestille dig, har det mange og effektive funktioner at kunne definere filterkontekst i en formel. At kunne referere til kun en bestemt værdi i en relateret tabel er blot et af disse eksempler. Hvis du ikke forstår konteksten med det samme, skal du ikke bekymre dig. Når du opretter dine egne formler, kan du bedre forstå konteksten, og hvorfor det er så vigtigt i DAX.

Hurtig introduktion til kontekst

  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.

Resumé

Nu, hvor du har en grundlæggende forståelse af de vigtigste begreber i DAX, kan du begynde selv at oprette DAX-formler til beregnede kolonner og målinger. DAX kan faktisk være lidt svært at lære, men der er mange ressourcer tilgængelige 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-koncepter og -formler, som kan hjælpe dig med at løse dine egne forretningsmæssige problemer. Du kan finde mange DAX-ressourcer i Power Pivot Hjælp, SQL Server Online-bøger, 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. Referencen Data Analysis Expressions (DAX) er også en god ressource. Sørg for at gemme den i dine Favoritter.

Whitepaper'en DAX i tabelmodellen BI, der kan downloades (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409), giver et mere detaljeret kig på de koncepter, der introduceres her, samt mange andre avancerede koncepter og formler. Dette whitepaper bruger også den samme Contoso DAX-eksempelprojektmappeFormulas.xlsx projektmappe, du allerede har.

Svar til QuickQuiz

Syntaks:

  1. Åbner funktionen Indsæt.

  2. Parenteser [].

  3. =[Enhedspris] - [Enhedspris]

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. 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.

Var disse oplysninger nyttige?

Hvor tilfreds er du med kvaliteten af sproget?
Hvad påvirkede din oplevelse?
Når du trykker på Send, bliver din feedback brugt til at forbedre Microsoft-produkter og -tjenester. Din it-administrator kan indsamle disse data. Erklæring om beskyttelse af personlige oplysninger.

Tak for din feedback!

×