Denne hurtigstarten er for brukere som ikke har Power Pivot i Excel eller tabellmodellprosjekter som er SQL Server dataverktøy. Den er ment å gi deg en rask og enkel innføring i hvordan du kan bruke DAX (Data Analysis Expressions) til å løse en rekke grunnleggende datamodellerings- og analyseproblemer. Dette emnet inneholder begrepsmessig informasjon, en rekke oppgaver du kan fullføre, og noen tester for å teste det du har lært. Når du har fullført dette emnet, bør du ha en god forståelse av de mest grunnleggende begrepene i DAX.

Hva er DAX?

DAX er en samling av funksjoner, operatorer og konstanter som kan brukes i en formel, eller uttrykk, til å beregne og returnere én eller flere verdier. DaX gjør det enklere å opprette ny informasjon fra data som allerede finnes i modellen.

Hvorfor er DAX så viktig?

Det er enkelt å opprette en arbeidsbok og importere data til den. Du kan til og med opprette pivottabeller eller pivotdiagrammer som viser viktig informasjon uten å bruke DAX-formler. Men hva om du trenger å analysere kritiske salgsdata på tvers av flere produktkategorier og for ulike datointervaller? Eller trenger du å kombinere viktige lagerdata fra flere tabeller i forskjellige datakilder? DAX-formler gir også denne funksjonaliteten og mange andre viktige funksjoner. Hvis du lærer hvordan du oppretter effektive DAX-formler, får du mest mulig ut av dataene dine. Når du får informasjonen du trenger, kan du begynne å løse reelle forretningsproblemer som påvirker bunnlinjen. Dette er Business Intelligence, og DAX hjelper deg med å komme dit.

Forutsetninger

Du er kanskje allerede kjent med å opprette formler i Microsoft Excel. Denne kunnskapen vil være nyttig for å forstå DAX, men selv om du ikke har erfaring med Excel-formler, vil begrepene som beskrives her, hjelpe deg med å komme i gang med å opprette DAX-formler og løse reelle BI-problemer umiddelbart.

Vi skal fokusere spesielt på å forstå DAX-formler som brukes i beregninger. Du bør allerede være kjent med grunnleggende begreper om både beregnede kolonner og mål (også kalt beregnede felt), som begge er beskrevet i hjelpen Power Pivot. Du bør også være kjent med Power Pivot i Excel redigeringsmiljø og verktøy.

Eksempelarbeidsbok

Den beste måten å lære DAX på, er å opprette noen grunnleggende formler, bruke dem med noen faktiske data og se resultatene for deg selv. Eksemplene og oppgavene her bruker Contoso-eksempel-DAX-Formulas.xlsx arbeidsboken. Du kan laste ned arbeidsboken fra http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Når du har lastet ned arbeidsboken på datamaskinen, åpner du den og åpner Power Pivot vinduet.

La oss begynne!

Vi vil ramme INN DAX rundt tre svært viktige grunnleggende begreper: Syntaks, Funksjoner og Kontekst. Det finnes selvfølgelig andre viktige begreper i DAX, men å forstå disse tre konseptene gir det beste grunnlaget for å bygge dine DAX-ferdigheter.

Syntaks

Før du oppretter dine egne formler, kan vi ta en titt på DAX-formelsyntaks. Syntaksen inneholder de ulike elementene som utgjør en formel, eller en mer enkel måte, hvordan formelen skrives. La oss for eksempel se på en enkel DAX-formel som brukes til å opprette nye data (verdier) for hver rad i en beregnet kolonne, kalt Marg, i en FactSales-tabell: (formeltekstfarger er bare til illustrerende formål)

Formel for beregnet kolonne

Syntaksen for denne formelen inneholder følgende elementer:

  1. Likhetstegnoperatoren (=) angir begynnelsen av formelen, og når denne formelen beregnes, returneres et resultat eller en verdi. Alle formler som beregner en verdi, begynner med et likhetstegn.

  2. Den refererte kolonnen [SalesAmount] inneholder verdiene vi vil trekke fra. En kolonnereferanse i en formel er alltid omgitt av hakeparenteser []. I Excel formler som refererer til en celle, refererer en DAX-formel alltid til en kolonne.

  3. Den matematiske operatoren subtraksjon (-).

  4. Den refererte kolonnen [TotalCost] inneholder verdiene vi vil trekke fra verdiene i [SalesAmount]-kolonnen.

Når du prøver å forstå hvordan du leser en DAX-formel, er det ofte nyttig å dele opp hvert av elementene i et språk du tenker og snakker hver dag. Du kan for eksempel lese denne formelen som:

I FactSales-tabellen beregner du (=)en verdi for hver rad i den beregnede kolonnen Marg ved å trekke fra (-) verdier i kolonnen [TotalCost] fra verdiene i kolonnen[SalesAmount].

La oss ta en titt på en annen type formel, en som brukes i et mål:

Formel for beregnet kolonne

Denne formelen inneholder følgende syntakselementer:

  1. Målnavn Summen av salgsbeløp. Formler for mål kan inkludere målnavnet, etterfulgt av et kolon, etterfulgt av beregningsformelen.

  2. Likhetstegnoperatoren (=) angir begynnelsen av beregningsformelen. Når den beregnes, returneres et resultat.

  3. Funksjonen SUMMER legger sammen alle tallene i [SalesAmount]-kolonnen. Du vil lære mer om funksjoner senere.

  4. Parentes () omslutter ett eller flere argumenter. Alle funksjoner krever minst ett argument. Et argument sender en verdi til en funksjon.

  5. Referansetabellen FactSales.

  6. Den refererte kolonnen [SalesAmount] i FactSales-tabellen. Med dette argumentet vet SUMMER-funksjonen hvilken kolonne som skal aggregere en SUMMER.

Du kan lese denne formelen som:

Beregner (=) SUMMENav verdiene i kolonnen [SalesAmount] i FactSales-tabellen for målet kalt Sum of Sales Amount.

Når det plasseres i verdier-slippsonen i en feltliste for pivottabell, beregner og returnerer dette tiltaket verdier som er definert av hver celle i pivottabellen, for eksempel mobiltelefoner i USA.

Legg merke til at det er noen ting som er annerledes med denne formelen sammenlignet med formelen vi brukte for den beregnede margkolonnen. Spesielt introduserte vi en funksjon, SUMMER. Funksjoner er forhåndsskrevne formler som gjør det enklere å utføre komplekse beregninger og manipulasjoner med tall, datoer, klokkeslett, tekst og mer. Du vil lære mer om funksjoner senere.

I motsetning til den beregnede kolonnen Marg tidligere, ser du at kolonnen [SalesAmount] ble innledet av tabellen FactSales der kolonnen tilhører. Dette kalles et fullstendig kolonnenavn ved at det inneholder kolonnenavnet foran tabellnavnet. Kolonner det refereres til i samme tabell, krever ikke at tabellnavnet inkluderes i formelen. Dette kan gjøre lange formler som refererer til mange kolonner kortere og enklere å lese. Det er imidlertid god praksis å alltid inkludere tabellnavnet i målformlene, selv når du er i samme tabell.

Obs!: Hvis navnet på en tabell inneholder mellomrom, reserverte nøkkelord eller ugyldige tegn, må du omslutte tabellnavnet i enkle anførselstegn. Du må også omslutte tabellnavnene i anførselstegn hvis navnet inneholder tegn utenfor det alfanumeriske tegnområdet ANSI, uavhengig av om den nasjonale nasjonaliteten støtter tegnsettet eller ikke.

Det er svært viktig at formlene har riktig syntaks. I de fleste tilfeller, hvis syntaksen ikke er riktig, returneres en syntaksfeil. I andre tilfeller kan syntaksen være riktig, men verdiene som returneres, er kanskje ikke det du forventer. Power Pivot (og SQL Server dataverktøy) omfatter IntelliSense; en funksjon som brukes til å opprette syntaktisk rette formler ved å hjelpe deg med å velge de riktige elementene.

La oss opprette en enkel formel. Denne oppgaven hjelper deg med å forstå formelsyntaks IntelliSense funksjonen på formellinjen kan hjelpe deg.

Oppgave: Opprette en enkel formel for en beregnet kolonne

  1. Hvis du ikke allerede er i Power Pivot vinduet, klikker Excel på båndet Power Pivot klikker du Power PivotVindu.

  2. Klikk Power Pivot FactSales-tabellen (fane) i vinduet FactSales.

  3. Rull til kolonnen helt til høyre, og klikk deretter Legg til kolonne i kolonneoverskriften.

  4. Klikk på formellinjen øverst i modellutformingsvinduet.

    Formellinjen i PowerPivot

    Markøren vises nå på formellinjen. Du kan skrive inn en formel for en beregnet kolonne eller et beregnet felt på formellinjen.

    La oss ta deg tid til å se på de tre knappene til venstre for formellinjen.

    Formellinje

    Når markøren er aktiv på formellinjen, blir disse tre knappene aktive. Knappen lengst til venstre, X,er ganske enkelt en avbryt-knapp. Gå videre og klikk den. Markøren vises ikke lenger på formellinjen, og avbryt-knappen og hakemerkeknappen vises ikke lenger. Gå videre og klikk på formellinjen på nytt. Avbryt-knappen og avmerkingsknappen vises nå på nytt. Dette betyr at du er klar til å begynne å skrive inn en formel.

    Haken-knappen er sjekkformel-knappen. Det gjør ikke så mye før du har skrevet inn en formel. Vi kommer tilbake til det om litt.

    Klikk Fx-knappen. Du ser at en ny dialogboks vises. dialogboksen Sett inn funksjon. Dialogboksen Sett inn funksjon er den enkleste måten å komme i gang med å skrive inn en DAX-formel på. Vi legger til en funksjon i en formel når vi oppretter et mål litt senere, men foreløpig trenger du ikke å legge til en funksjon i den beregnede kolonneformelen. Lukk dialogboksen Sett inn funksjon.

  5. Skriv inn et likhetstegn =på formellinjen, og skriv deretter inn en venstre hakeparentes [. Det vises et lite vindu med alle kolonnene i FactSales-tabellen. Dette er IntelliSense i aksjon.

    Fordi beregnede kolonner alltid opprettes i den aktive tabellen du er i, er det ikke nødvendig å sette tabellnavnet foran kolonnenavnet. Rull nedover, og dobbeltklikk deretter [SalesQuantity]. Du kan også bla til kolonnenavnet du vil bruke, og deretter trykke tab.

    Markøren er nå aktiv til høyre for [SalesQuantity].

  6. Skriv inn et mellomrom, og skriv deretter inn en subtraksjonsoperator – (et minustegn), og skriv deretter inn et annet mellomrom.

  7. Skriv inn en annen venstre hakeparentes [. Denne gangen velger du [ReturnQuantity]-kolonnen, og deretter trykker du ENTER.

    Hvis du får en feilmelding, kan du se nøye på syntaksen. Hvis det er nødvendig, kan du sammenligne den med formelen i den beregnede margkolonnen som er beskrevet tidligere.

    Når du har trykket ENTER for å fullføre formelen, vises ordet Beregning på statuslinjen nederst i Power Pivot vinduet. Det går raskt, selv om du bare har beregnet nye verdier for mer enn tre millioner rader.

  8. Høyreklikk kolonneoverskriften, og gi nytt navn til kolonnen NetSales.

Det var det! Du har nettopp opprettet en enkel, men svært kraftig DAX-formel. For hver rad i FactSales-tabellen beregner NetSales-formelen en verdi ved å trekke verdien i kolonnen [ReturnQuantity] fra verdien i kolonnen [SalesQuantity]. Legg merke til hvordan vi nettopp sa «For hver rad». Dette er et glimt av et annet svært viktig konsept i DAX. radkontekst. Du vil lære mer om radkontekst senere.

Noe veldig viktig å forstå når du skriver inn en operator i en DAX-formel, er datatypen i argumentene du bruker. Hvis du for eksempel skriver inn følgende formel, = 1 & 2, vil verdien som returneres, være en tekstverdi på «12». Dette er fordi ampersand-operatoren (&) er for tekst sammenslåing. DAX tolker denne formelen til å lese: Beregne et resultat ved å ta verdien 1 som tekst og legge til verdi 2 som tekst. Hvis du nå skriver inn = 1 + 2, leser DAX denne formelen som: Beregne et resultat ved å ta den numeriske verdien 1 og legge til den numeriske verdien 2. Resultatet er selvfølgelig "3", en numerisk verdi. DAX beregner resultatverdier avhengig av operatoren i formelen, ikke basert på datatypen for kolonnene som brukes i argumentet. Datatyper i DAX er svært viktige, men utenfor omfanget av denne hurtigstarten. Hvis du vil lære mer om datatyper og operatorer i DAX-formler, kan du se DAX-referansen (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) i Books Online.

La oss prøve en annen. Denne gangen oppretter du et mål ved å skrive inn formelen og ved å bruke IntelliSense. Ikke bekymre deg for mye hvis du ikke forstår formelen fullt ut. Det viktigste her er å lære hvordan du oppretter en formel ved hjelp av flere elementer sammen i riktig syntaks.

Oppgave: Opprette en måleformel

  1. Klikk i en tom celle i beregningsområdet i FactSales-tabellen. Dette er området med tomme celler rett under en tabell i Power Pivot vinduet.

Beregningsområdet i PowerPivot

  1. Skriv inn navnet Salg forrige kvartal:på formellinjen.

  2. Skriv inn et likhetstegn = for å starte beregningsformelen.

  3. Skriv inn de første bokstavene CAL, og dobbeltklikk deretter funksjonen du vil bruke. I denne formelen vil du bruke FUNKSJONEN CALCULATE.

  4. Skriv inn en venstreparentes ( for å begynne argumentene som skal sendes til CALCULATE-funksjonen.

    Legg merke til at når du har skrevet inn den IntelliSense parentesen, vises argumentene som kreves for CALCULATE-funksjonen. Du vil lære litt om argumentene.

  5. Skriv inn de første bokstavene i FactSales-tabellen, og dobbeltklikk deretter FactSales[Salg]i rullegardinlisten.

  6. Skriv inn et komma (,) for å angi det første filteret, skriv deretter inn PRE, og dobbeltklikk deretter FORRIGEKVARTER-funksjonen.

    Når du har valgt PREVIOUSQUARTER-funksjonen, vises en annen venstreparentes, som angir at et annet argument er obligatorisk. denne gangen for FORRIGEKVARTER-funksjonen.

  7. Skriv inn de første bokstavene Dim, og dobbeltklikk deretter DimDate[DateKey].

  8. Lukk både argumentet som sendes til FORRIGEKVARTER-funksjonen og CALCULATE-funksjonen ved å skrive inn to høyre parenteser )).

    Formelen skal nå se slik ut:

    Salg forrige kvartal:=CALCULATE(FactSales[Salg], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Klikk kontroller formel-knappen på formellinjen for å validere formelen. Hvis du får en feilmelding, kontrollerer du hvert element i syntaksen.

Du klarte det! Du har nettopp opprettet et mål ved hjelp av DAX, og ikke et enkelt mål på dette. Hva denne formelen vil gjøre, er å beregne det totale salget for forrige kvartal, avhengig av filtrene som brukes i en pivottabell eller PivotChart.

Du ble nettopp introdusert til flere viktige aspekter ved DAX-formler. Først inkluderte denne formelen to funksjoner. Legg merke til at FUNKSJONEN FORRIGEKVARTER er nestet som et argument som sendes til CALCULATE-funksjonen. DAX-formler kan inneholde opptil 64 nestede funksjoner. Det er usannsynlig at en formel noen gang vil inneholde så mange nestede funksjoner. En slik formel ville faktisk vært svært vanskelig å opprette og feilsøke, og den ville sannsynligvis ikke vært veldig rask heller.

I denne formelen brukte du også filtre. Filtre begrenser hva som skal beregnes. I dette tilfellet valgte du ett filter som et argument, som faktisk er en annen funksjon. Du vil lære mer om filtre senere.

Til slutt brukte du CALCULATE-funksjonen. Dette er en av de kraftigste funksjonene i DAX. Når du redigerer datamodeller og oppretter mer komplekse formler, vil du sannsynligvis bruke denne funksjonen mange ganger. Å diskutere CALCULATE-funksjonen er utenfor omfanget av denne Hurtigstart, men etter hvert som kunnskapen om DAX vokser, bør du være spesielt oppmerksom på denne.

Obs!: Hvis du vil bruke Tidsintelligens-funksjoner i DAX-formler, må du vanligvis angi en unik datokolonne ved hjelp av dialogboksen Merk som datotabell. I Contoso DAX-Samples.xlsx-arbeidsboken velges DateKey-kolonnen i DimDate-tabellen som den unike datokolonnen.

Ekstra kreditt

Du spør kanskje: Hva er den enkleste DAX-formelen jeg kan opprette? Svaret på det er «formelen du ikke trenger». Og det er akkurat det du kan gjøre ved å bruke en standard aggregeringsfunksjon i et mål. Nesten alle datamodeller må filtrere og beregne aggregerte data. SUMMER-funksjonen i summen av salgsbeløpsmålet du så tidligere, brukes for eksempel til å legge sammen alle tallene i en bestemt kolonne. DAX inneholder også flere andre funksjoner som aggregerer verdier. Du kan automatisk opprette formler ved hjelp av standardaggregasjoner ved hjelp av Autosummer-funksjonen.

Ekstra kreditoppgave: Opprette en målingsformel ved hjelp av Autosummer-funksjonen

  1. Bla til ReturnQuantity-kolonnen i FactSales-tabellen, og klikk deretter kolonneoverskriften for å merke hele kolonnen.

  2. Klikk Autosummer-knappen i Beregninger-gruppenHjem-fanen på båndet.

Autosummer i PowerPivot

Klikk pil ned ved siden av Autosummer, og klikk deretter Gjennomsnitt (legg også merke til de andre standardaggregasjonsfunksjonene du kan bruke).

Umiddelbart opprettes et nytt mål med navnet Gjennomsnitt av ReturnQuantity: etterfulgt av formelen =GJENNOMSNITT([ReturnQuantity]).

Var det ikke så enkelt nå? Det er selvfølgelig ikke alle formlene du oppretter, som er så enkle. Ved hjelp av Autosummer-funksjonen kan du imidlertid opprette raske og enkle formler ved hjelp av standard aggregeringsberegninger.

Dette bør gi deg en ganske god forståelse av syntaksen som brukes i DAX-formler. Du ble også introdusert til noen virkelig kule funksjoner som IntelliSense og Autosummer for å hjelpe deg med å opprette raske, enkle og nøyaktige formler. Det er selvfølgelig mye mer du kan lære om syntaks. Et godt sted å lære mer er DAX-referansen eller SQL Books Online.

Syntaks QuickQuiz

  1. Hva gjør denne knappen på formellinjen?
    Funksjonsknapp

  2. Hva omslutter alltid et kolonnenavn i en DAX-formel?

  3. Hvordan vil du skrive en formel for følgende: I
    DimProduct-tabellen beregner du en verdi for hver rad i den beregnede kolonnen UnitMargin ved å trekke verdier i UnitCost-kolonnen fra verdier i Enhetspris-kolonnen?

Svarene er gitt på slutten av dette emnet.

Funksjoner

Funksjoner er forhåndsdefinerte formler som utfører beregninger ved hjelp av bestemte verdier, kalt argumenter, i en bestemt rekkefølge eller struktur. Argumenter kan være andre funksjoner, en annen formel, kolonnereferanser, tall, tekst, logiske verdier som SANN eller USANN eller konstanter.

DAX inneholder følgende kategorier av funksjoner: Dato og klokkeslett, Informasjon, Logisk, Matematisk, Statistisk, Tekst og Funksjoner for tidsintelligens. Hvis du er kjent med funksjoner Excel formler, vil mange av funksjonene i DAX ligne på deg. DAX-funksjoner er imidlertid unike på følgende måter:

  • En DAX-funksjon refererer alltid til en fullstendig kolonne eller tabell. Hvis du bare vil bruke bestemte verdier fra en tabell eller kolonne, kan du legge til filtre i formelen.

  • Hvis du trenger å tilpasse beregninger på rad-for-rad-basis, inneholder DAX funksjoner som lar deg bruke den gjeldende radverdien eller en relatert verdi som et slags argument, til å utføre beregninger som varierer etter kontekst. Du vil lære mer om kontekst senere.

  • DAX inneholder mange funksjoner som returnerer en tabell i stedet for en verdi. Tabellen vises ikke, men brukes til å gi inndata til andre funksjoner. Du kan for eksempel hente en tabell og deretter telle de distinkte verdiene i den, eller beregne dynamiske summer på tvers av filtrerte tabeller eller kolonner.

  • DAX inneholder en rekke funksjoner for tidsintelligens. Med disse funksjonene kan du definere eller velge datoområder og utføre dynamiske beregninger basert på dem. Du kan for eksempel sammenligne summer på tvers av parallelle perioder.

Noen ganger er det vanskelig å vite hvilke funksjoner du kanskje må bruke i en formel. Power Pivot, og tabellmodellutformeren i SQL Server Dataverktøy, inkluderer funksjonen Sett inn funksjon, en dialogboks som hjelper deg med å velge funksjoner etter kategori og gir korte beskrivelser for hver funksjon.

Sett inn funksjon

La oss opprette en ny formel som inneholder en funksjon du velger ved hjelp av funksjonen Sett inn funksjon:

Oppgave: Legge til en funksjon i en formel ved hjelp av Sett inn funksjon

  1. Bla til kolonnen helt til høyre i FactSales-tabellen, og klikk deretter Legg til kolonne i kolonneoverskriften.

  2. Skriv inn et likhetstegn på formellinjen, =.

  3. Klikk sett inn funksjon-knappen. Sett inn funksjon Dette åpner dialogboksen Sett inn funksjon.

  4. Klikk listen Velg en kategori i dialogboksen Sett inn funksjon. Som standard er Alle valgt, og alle funksjonene i Alle-kategorien er oppført nedenfor. Det er mange funksjoner, så du bør filtrere funksjonene for å gjøre det enklere å finne funksjonstypen du leter etter.

  5. I denne formelen vil du returnere noen data som allerede finnes i en annen tabell. For dette skal du bruke en funksjon i Filter-kategorien. Gå videre og klikk Filter-kategorien, og rull nedover og dobbeltklikk RELATERT-funksjonen i Velg en funksjon. Klikk OK for å lukke dialogboksen Sett inn funksjon.

  6. Bruk IntelliSense til å finne og velge DimChannel[ChannelName]-kolonnen.

  7. Lukk formelen, og trykk deretter ENTER.

  8. Når du har trykket ENTER for å fullføre formelen, vises ordet Beregning på statuslinjen nederst i Power Pivot vinduet. Nå ser du at du nettopp har opprettet en ny kolonne i FactSales-tabellen med kanalinformasjon fra DimChannel-tabellen.

  9. Gi nytt navn til kolonnen Kanal.

    Formelen skal se slik ut: =RELATED(DimChannel[ChannelName])

Du ble nettopp introdusert til en annen svært viktig funksjon i DAX, RELATERT-funksjonen. RELATERT-funksjonen returnerer verdier fra en annen tabell. Du kan bruke RELATED forutsatt at det er en relasjon mellom tabellen du er i og tabellen som inneholder verdiene du vil hente. RELATERT-funksjonen har selvfølgelig enorme muligheter. I dette tilfellet kan du nå inkludere salgskanalen for hvert salg i FactSales-tabellen. Nå kan du skjule DimChannel-tabellen fra feltlisten for pivottabell, noe som gjør det enklere å navigere og se bare den viktigste informasjonen du virkelig trenger. I likhet med BEREGN-funksjonen som er beskrevet tidligere, er RELATERT-funksjonen svært viktig, og du vil sannsynligvis bruke den mange ganger.

Som du kan se, kan funksjoner i DAX hjelpe deg med å opprette svært kraftige formler. Vi har egentlig bare berørt det grunnleggende om funksjoner. Etter hvert som DAX-ferdighetene dine forbedres, oppretter du formler ved hjelp av mange forskjellige funksjoner. En av de beste stedene å lære detaljer om alle DAX-funksjonene, er i DAX-referansen (Data Analysis Expressions).

Funksjoner QuickQuiz

  1. Hva refererer en funksjon alltid til?

  2. Kan en formel inneholde mer enn én funksjon?

  3. Hvilken kategori med funksjoner ville du brukt til å kjede sammen to tekststrenger i én streng?

Svarene er gitt på slutten av dette emnet.

Kontekst

Kontekst er et av de viktigste DAX-begrepene å forstå. Det finnes to typer kontekst i DAX. radkontekst og filterkontekst. Vi vil først se på radkontekst.

Radkontekst

Radkontekst er lett å tenke på som gjeldende rad. Husker du for eksempel den beregnede margkolonnen du så tidligere da du lærte om syntaks? Formelen =[SalesAmount] - [TotalCost] beregner en verdi i Marg-kolonnen for hver rad i tabellen. Verdier for hver rad beregnes fra verdier i to andre kolonner, [SalesAmount] og [TotalCost] i samme rad. DAX kan beregne verdiene for hver rad i Marg-kolonnen fordi den har konteksten: For hver rad tar den verdier i [TotalCost]-kolonnen og trekker dem fra verdier i [SalesAmount]-kolonnen.

I den merkede cellen som vises nedenfor, ble verdien kr 49,54 i gjeldende rad beregnet ved å trekke fra verdien kr 51,54 i [TotalCost]-kolonnen fra verdien kr 101,08 i kolonnen [SalesAmount].

Radkontekst i PowerPivot

Radkontekst gjelder ikke bare for beregnede kolonner. Radkontekst gjelder også når en formel har en funksjon som bruker filtre til å identifisere én enkelt rad i en tabell. Funksjonen bruker iboende en radkontekst for hver rad i tabellen den filtrerer over. Denne typen radkontekst gjelder oftest for mål.

Filterkontekst

Filterkontekst er litt vanskeligere å forstå enn radkontekst. Du kan enkelt tenke på filterkontekst som: Ett eller flere filtre som brukes i en beregning som bestemmer et resultat eller en verdi.

Filterkontekst finnes ikke i stedet for radkontekst. I stedet gjelder den i tillegg til radkontekst. Hvis du for eksempel vil begrense verdiene som skal inkluderes i en beregning ytterligere, kan du bruke en filterkontekst som ikke bare angir radkonteksten, men også angir bare en bestemt verdi (filter) i radkonteksten.

Filterkontekst vises enkelt i pivottabeller. Når du for eksempel legger til TotalCost i Verdier-området og deretter legger til År og område i raden eller kolonnene, definerer du en filterkontekst som velger et delsett med data basert på et gitt år og område.

Hvorfor er filterkontekst så viktig for DAX? Fordi filterkontekst enkelt kan brukes ved å legge til kolonne- og radetiketter og slicere i en pivottabell, kan filterkontekst også brukes i en DAX-formel ved å definere et filter ved hjelp av funksjoner som ALLE, RELATERT, FILTRER, BEREGNE, etter relasjoner og av andre mål og kolonner. La oss for eksempel se på følgende formel i et mål kalt StoreSalg:

Formel

Denne formelen er tydeligvis mer kompleks enn noen av de andre formlene du har sett. Men for å forstå denne formelen bedre, kan vi dele den opp, akkurat som vi har gjort med andre formler.

Denne formelen inneholder følgende syntakselementer:

  1. Målnavnet StoreSalg, etterfulgt av et kolon :.

  2. Likhetstegnoperatoren (=) angir begynnelsen av formelen.

  3. CALCULATE-funksjonen evaluerer et uttrykk, som et argument, i en kontekst som endres av de angitte filtrene.

  4. Parentes () omslutter ett eller flere argumenter.

  5. Et mål [Salg] i samme tabell som et uttrykk. Salgsmålet har formelen: =SUMMER(FactSales[SalesAmount]).

  6. Et komma (,) skiller hvert filter.

  7. Den refererte kolonnen og en bestemt verdi, DimChannel[ChannelName] ="Store", som et filter.

Denne formelen sikrer at bare salgsverdier, definert av salgsmålet, som et filter, bare beregnes for rader i DimChannel[ChannelName]-kolonnen med verdien «Store», som et filter.

Som du kan forestille deg, har muligheten til å definere filterkontekst i en formel enorme og kraftige funksjoner. Det å bare kunne referere til en bestemt verdi i en relatert tabell er bare ett slikt eksempel. Ikke bekymre deg hvis du ikke helt forstår konteksten med en gang. Når du oppretter dine egne formler, vil du bedre forstå konteksten og hvorfor det er så viktig i DAX.

Hurtigtekst

  1. Hva er de to konteksttypene?

  2. Hva er filterkontekst?

  3. Hva er radkontekst?

Svarene er gitt på slutten av dette emnet.

Oppsummering

Nå som du har en grunnleggende forståelse av de viktigste begrepene i DAX, kan du begynne å opprette DAX-formler for beregnede kolonner og mål på egen hånd. DAX kan faktisk være litt vanskelig å lære, men det er mange ressurser tilgjengelig for deg. Etter å ha lest gjennom dette emnet et par ganger og eksperimentert med noen av dine egne formler, kan du lære mer om andre DAX-begreper og formler som kan hjelpe deg med å løse dine egne forretningsproblemer. Det finnes mange DAX-ressurser tilgjengelig for deg i Power Pivot, SQL Server Books Online, whitepapers og blogger fra både Microsoft og ledende BI-teknikere. Wiki for DAX-ressurssenter (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) er et flott sted å starte. DaX-referansen (Data Analysis Expressions) er også en flott ressurs. Pass på at du lagrer den i Favoritter.

DAX-en i hvitavisen BI Tabular Model, som er tilgjengelig for nedlasting (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409), gir en mer detaljert oversikt over begrepene som ble introdusert her, i tillegg til mange andre avanserte begreper og formler. Denne hvitboken bruker også samme Contoso DAX-Formulas.xlsx arbeidsboken du allerede har.

QuickQuiz Answers

Syntaks:

  1. Åpner sett inn funksjon-funksjonen.

  2. Hakeparenteser [].

  3. =[Enhetspris] - [UnitCost]

Funksjoner:

  1. En tabell og en kolonne.

  2. Ja. En formel kan inneholde opptil 64 nestede funksjoner.

  3. Tekstfunksjoner.

Kontekst:

  1. Radkontekst og filterkontekst.

  2. Ett eller flere filtre i en beregning som bestemmer én enkelt verdi.

  3. Gjeldende rad.

Trenger du mer hjelp?

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Microsoft Insiders

Var denne informasjonen nyttig?

Hvor fornøyd er du med kvaliteten på oversettelsen?
Hva påvirket opplevelsen din?

Takk for tilbakemeldingen!

×