Hurtigveiledning: Lære det grunnleggende om DAX på 30 minutter

Obs!:  Vi ønsker å gi deg det nyeste hjelpeinnholdet så raskt som mulig, på ditt eget språk. Denne siden er oversatt gjennom automatisering og kan inneholde grammatiske feil eller unøyaktigheter. Formålet vårt er at innholdet skal være nyttig for deg. Kan du fortelle oss om informasjonen var nyttig for deg nederst på denne siden? Her er den engelske artikkelen for enkel referanse.

Denne hurtigveiledningen er for nye brukere av Power Pivot i Excel eller tabellmodellprosjekter skrevet i SQL Server Data Tools. Meningen er at du skal få en hurtig og enkel innføring i hvordan du kan bruke DAX (Data Analysis Expressions) til å løse enkle problemer ved datamodellering og analyse. Dette emnet inneholder konseptuell informasjon, en serie med oppgaver du kan gjennomføre, og noen spørrekonkurranser for å teste det du har lært. Når du har gjennomført dette emnet, skal du ha en god forståelse av de mest grunnleggende konseptene i DAX.

Hva er DAX?

DAX er en samling med funksjoner, operatorer og konstanter som kan brukes i en formel, eller et uttrykk, til å beregne og returnere én eller flere verdier. Sagt på en enklere måte: DAX hjelper deg med å opprette ny informasjon fra data som allerede finnes i modellen.

Hvorfor er DAX så viktig?

Det er enkelt å opprette en arbeidsbok og importere data i den. Du kan til og med opprette pivottabeller eller pivotdiagrammer som viser viktig informasjon, uten å bruke DAX-formler. Men hva om du må analysere kritiske salgsdata på tvers av flere produktkategorier og for forskjellige datoområder? Eller hva om du trenger å kombinere viktige lagerbeholdningsdata fra flere tabeller i forskjellige datakilder? Med DAX-formler kan du gjøre dette, i tillegg til mye annet viktig. Ved å lære hvordan du oppretter effektive DAX-formler, kan du utnytte dataene på best mulig måte Når du får informasjonen du trenger, kan du begynne å løse reelle forretningsproblemer som virker inn på bunnlinjen. Dette er Business Intelligence, og DAX vil hjelpe deg med å komme dit.

Forutsetninger

Du er kanskje allerede kjent med å opprette formler i Microsoft Excel. Denne kunnskapen vil være nyttig når du skal forstå DAX, men selv om du ikke har erfaring med Excel-formler, vil konseptene beskrevet her hjelpe deg med å komme i gang med å opprette DAX-formler og løse reelle BI-problemer med én gang.

Vi skal fokus spesielt på forstå DAX-formler som brukes i beregninger. Du bør allerede være kjent med grunnleggende konsepter av både for beregnede kolonner og mål (også kalt beregnede felt) som er beskrevet i Power Pivot hjelp. Du bør også være kjent med Power Pivot i Excel redigering miljøet og verktøy.

Eksempelarbeidsboken

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

La oss komme i gang!

Vi vil ramme DAX rundt tre svært viktig grunnleggende konsepter: syntaksen, funksjoner og kontekst. Selvfølgelig, finnes det andre viktige begreper i DAX, men forstå disse tre konsepter gir beste grunnlaget til å bygge DAX ferdighetene dine.

Syntaks

La oss se på DAX-formelsyntaksen før du oppretter egne formler. Syntaks omfatter de forskjellige elementene som utgjør en formel, eller hvordan formelen skrives, sagt på en enklere måte. 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 Margin, i en FactSales-tabell: (tekstfargene i formelen er bare til illustrasjonsformål)

Formel for beregnet kolonne

Syntaksen for denne formelen inneholder følgende elementer:

  1. Likhetstegnet (=) indikerer starten på formelen, og når denne formelen beregnes, returnerer den et resultat eller en verdi. Alle formler som beregner en verdi, begynner med et likhetstegn.

  2. Den refererte kolonnen [SalesAmount] inneholder verdiene vi vil bruke til å trekke fra. En kolonnereferanse i en formel er alltid omgitt av klammeparenteser []. I motsetning til 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 kolonnen [SalesAmount].

Når du skal prøve å forstå hvordan du leser en DAX-formel, er det ofte nyttig å bryte ned hvert av elementene til et språk du tenker og snakker hver dag. Du kan for eksempel lese denne formelen slik:

i den FactSales tabell, for hver rad i den beregnede kolonnen Margin, beregnes (=) en verdi ved å subtrahere (-) verdier i den [ Totalpris ]-kolonnen fra verdiene i den [ Salgsbeløp ] kolonne.

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

Formel for beregnet kolonne

Denne formelen inneholder følgende syntakselementer:

  1. Mål navnet Sum of Sales Amount. Formler for målinger kan inkludere navnet mål, etterfulgt av et kolon, etterfulgt av beregningsformelen.

  2. Likhetstegnet (=) indikerer begynnelsen på beregningsformelen. Når den beregnes, returnerer den et resultat.

  3. SUM-funksjonen legger sammen alle tallene i kolonnen [SalesAmount]. Du skal lære mer om funksjoner senere.

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

  5. Den refererte tabellen FactSales.

  6. Den refererte kolonnen [SalesAmount] i tabellen FactSales. Med dette argumentet vet SUM-funksjonen hvilken kolonne som skal aggregeres for å beregne en sum.

Du kan lese denne formelen slik:

For den mål kalt Sum of Sales Amount, beregnes (=) summen av verdiene i den [ SalesAmount ]-kolonnen i den FactSales tabell.

Når det plasseres til verdiene bildeområdet i en feltliste for pivottabell, denne mål beregner og returnerer verdier som er definert av hver celle i pivottabellen, for eksempel mobiltelefoner i USA.

Legg merke til et par ting er annerledes med denne formelen sammenlignet med formelen som vi brukes for den beregnede kolonnen Margin. Vi introdusert spesielt, en funksjon, SUMMER. Funksjoner skrives forhåndsdefinerte formler som gjør det enklere å utføre kompliserte beregninger og endringer med tall, datoer, klokkeslett, tekst og mer. Du vil lære mer om funksjonene senere.

I motsetning til den beregnede kolonnen Margin tidligere, ser du kolonnen [SalesAmount] ble foranstilt i tabellen FactSales som kolonnen tilhører. Dette kalles en fullstendig kolonnenavn ved at den inneholder navnet på kolonnen som begynner med tabellnavnet. Kolonner som det refereres til i samme tabell krever ikke tabellnavnet inkluderes i formelen. Dette kan gjøre lang formler som refererer til mange kolonner blir kortere og enklere å lese. Men er det god praksis å inkludere alltid tabellnavnet i mål formler, selv når du er i samme tabell.

Obs!: Hvis tabellnavnet inneholder mellomrom, reserverte nøkkelord eller tegn som ikke er tillatt, må du sette navnet i enkle anførselstegn. Du må også angi tabellnavn i anførselstegn hvis navnet inneholder tegn som ikke finnes i ANSI-settet med alfanumeriske tegn, uansett om tegnsettet støttes i de nasjonale innstillingene som brukes på systemet, eller ikke.

Det er svært viktig å bruke riktig syntaks i formlene. Hvis syntaksen ikke er riktig, returneres en syntaksfeil i de fleste tilfeller. I andre tilfeller kan syntaksen være riktig, men de returnerte verdiene er kanskje ikke hva du forventer. Power Pivot (og SQL Server Data Tools) inkluderer IntelliSense – en funksjon som brukes til å opprette syntaktisk riktige formler ved å hjelpe deg med å velge riktige elementer.

La oss opprette en enkel formel. Denne oppgaven gir deg bedre forståelse av formelsyntaks og hvordan 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 du Power Pivot-vinduet på Power Pivot-båndet i Excel.

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

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

  4. Klikk på formellinjen langs toppen av modellutformervinduet.

    Formellinjen i PowerPivot

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

    La oss bruke et øyeblikk til å se på de tre knappene til venstre for formellinjen.

    Formellinje

    Når markøren er aktiv på formellinjen, blir disse tre knapene aktive. Knappen til venstre, X, er ganske enkelt en avbrytingsknapp. Det er bare å klikke den. Markøren vises ikke lenger på formellinjen, og avbrytingsknappen og avmerkingsknappen vises heller ikke. Klikk på formellinjen på nytt. Avbrytingsknappen og avmerkingsknappen vises nå på nytt. Dette betyr at du er klar til å begynne med å skrive inn en formel.

    Avmerkingsknappen er knappen for å kontrollere formelen. Den gjør ikke noe særlig før du har skrevet inn en formel. Vi skal komme tilbake til dette om litt.

    Velg Fx -knappen. Ser du at en ny dialogboks vises; dialogboksen Sett inn funksjon. Dialogboksen Sett inn funksjon er den enkleste måten å begynne å skrive inn en DAX-formel. Vi skal legge til en funksjon i en formel når vi opprette en måling litt senere, men denne gangen du trenger ikke å legge til en funksjon i formel for beregnet kolonne. Gå fremover og lukke dialogboksen Sett inn funksjon.

  5. Skriv inn et likhetstegn = på formellinjen, og skriv deretter inn en venstre klammeparentes [. Du ser at et lite vindu vises med alle kolonnene i tabellen FactSales. Slik virker IntelliSense.

    Siden beregnede kolonner alltid opprettes i den aktive tabellen du er i, er det ikke nødvendig å sette tabellnavnet foran kolonnenavnet. Fortsett med å bla nedover og dobbeltklikke [SalesQuantity]. Du kan også bla til ønsket kolonnenavn og trykke Tab.

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

  6. Skriv inn et mellomrom og en subtraksjonsoperator - (et minustegn) og deretter nok et mellomrom.

  7. Nå, skriver du inn en annen venstre hakeparentes [. Denne gangen velger [ReturnQuantity] kolonnen, og trykk deretter Enter.

    Hvis du får en feil, må du se nøye på syntaksen. Om nødvendig må du sammenligne den med formelen i den beregnede kolonnen Margin beskrevet tidligere.

    Når du har trykket Enter for å fullføre formelen, vises ordet Beregner på statuslinjen nederst i Power Pivot-vinduet. Dette går raskt, selv om du akkurat har beregnet nye verdier for over tre millioner rader.

  8. Høyreklikk kolonneoverskriften, og endre navnet på kolonnen til NetSales.

Det var det! Du opprettet nettopp en enkelt, men svært kraftig DAX-formel. For hver rad i tabellen FactSales beregner en verdi i formelen til NetSales ved å trekke verdien i kolonnen [ReturnQuantity] fra verdien i kolonnen [SalesQuantity]. Legg merke til hvordan vi bare sa "For hver rad". Dette er et innblikk i en annen svært viktig konseptet i DAX; radkontekst. Du vil lære mer om radkontekst senere.

Noe spesielt viktige å forstå når du skriver en operatør i en DAX-formel er datatypen i argumentene du bruker. For eksempel hvis du skriver inn formelen nedenfor, = 1 og 2, verdien som returneres som skulle vært en tekstverdi av "12". Dette er fordi tegnet (&) operator for tekstoperatorer. DAX tolker denne formelen til å lese: beregne et resultat ved å gå gjennom verdien 1 som tekst og legge til verdien 2 som tekst. Hvis du skulle skriver du inn = 1 + 2, DAX leser denne formelen slik: 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 resulterende verdier avhengig av operatoren i formelen, ikke er basert på datatypen for kolonnene som brukes i argumentet. Datatyper i DAX er svært viktig, men utenfor omfanget av denne hurtigveiledningen. Hvis du vil lære mer om datatyper og operatorer i DAX-formler, kan du se DAX-referanse (http://go.microsoft.com/fwlink/?LinkId=239769 & clcid = 0x409) i Books Online.

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

Oppgave: Opprette en mål-formel

  1. Klikk en tom celle i beregningsområdet i tabellen FactSales. Dette er området med tomme celler like 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 å begynne beregningsformelen.

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

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

    Legg merke til at når du har skrevet inn venstreparentesen, vises de nødvendige argumentene for CALCULATE-funksjonen i IntelliSense. Du skal få lære om argumenter om litt.

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

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

    Når du har valgt PREVIOUSQUARTER-funksjonen, vises nok en venstreparentes, noe som indikerer at det er nødvendig med et nytt argument, denne gangen for PREVIOUSQUARTER-funksjonen.

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

  8. Lukk både argumentet som sendes til PREVIOUSQUARTER-funksjonen, og CALCULATE-funksjonen ved å skrive inn to høyreparenteser )).

    Formelen skal nå se slik ut:

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

  9. Klikk knappen for å kontrollere formelen på formellinjen for å validere formelen. Hvis du får en feil, må du se gjennom hvert element i syntaksen.

Du gjorde det! Du opprettet nettopp et mål ved hjelp av DAX, og ikke en enkelt på som. Hva som vil gjøre denne formelen er beregne totalt salg for forrige kvartal, avhengig av filtre i en pivottabell eller et pivotdiagram.

Du ble bare introdusert for flere viktige deler av DAX-formler. Første gang, med denne formelen to funksjoner. Legg merke til PREVIOUSQUARTER-funksjonen er nestet som et argument som sendes til CALCULATE -funksjonen. DAX-formler kan inneholde opptil 64 nestede funksjoner. Er det sannsynligvis ikke en formel inneholder noensinne så mange nestede funksjoner. Faktisk slik formel kan være veldig vanskelig å lage og feilsøke, og det sannsynligvis var ikke rask enten.

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

Til slutt brukte du CALCULATE-funksjonen. Dette er en av de kraftigste funksjonene i DAX. Etter hvert som du skriver datamodeller og oppretter mer kompliserte formler, kommer du sannsynligvis til å bruke denne funksjonen mange ganger. Drøfting av CALCULATE-funksjonen er utenfor omfanget av denne hurtigveiledningen, men etter hvert som du blir mer kjent med DAX, bør du være spesielt oppmerksom på denne.

Obs!: For å kunne bruke funksjoner for tidsintelligens i DAX-formler må du vanligvis angi en unik datokolonne ved hjelp av dialogboksen Merk som datotabell. I arbeidsboken Contoso DAX Formula Samples.xlsx, er DateKey-kolonnen i DimDate-tabellen valgt som den unike datokolonnen.

Ekstra kreditt

Du kan be: "Hva er den enkleste DAX-formelen kan jeg opprette?" Svaret som er godt, 'formelen uten å måtte'. Og det er nøyaktig hva du kan gjøre ved å bruke en funksjon for standardaggregering i et mål. Nesten alle datamodellen må filtrere og beregne på samlede data. Hvis du for eksempel brukes SUMMER-funksjonen i Sum of Sales Amount mål du så tidligere til å legge sammen alle tallene i en bestemt kolonne. DAX omfatter flere andre funksjoner som samle verdier som skal delta fysisk. Du kan automatisk opprette formler ved hjelp av standard aggregeringer ved hjelp av Autosummer-funksjonen.

Oppgave for ekstra kreditt: Opprette en mål-formel ved hjelp av Autosummer-funksjonen

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

  2. Klikk Autosummer -knappen i kategorien Hjem på båndet i beregninger -gruppen.

Autosummer i PowerPivot

Klikk pil ned ved siden av Autosummer, og klikk deretter gjennomsnitt (Legg merke til de andre standardaggregering funksjoner du kan bruke, også).

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

Var ikke dette enkelt? Selvsagt vil ikke alle formler du oppretter, være like enkle. Men ved å bruke Autosummer-funksjonen kan du opprette raske og enkle formler ved hjelp av standard aggregeringsberegninger.

Dette skulle gi deg en rimelig god forståelse av syntaksen som brukes i DAX-formler. Du har også fått en innføring i noen virkelig stilige funksjoner som IntelliSense og Autosummer, som hjelper deg med å opprette raske, enkle og nøyaktige formler. Det er selvsagt mye mer du kan lære deg om syntaks. Et bra sted for å lære mer er DAX-referansen eller SQL Books Online.

Syntaks

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

  2. Hva er et kolonnenavn i en DAX-formel alltid omgitt av?

  3. Hvordan vil du skriver en formel for følgende:
    i den DimProduct tabell, for hver rad i den UnitMargin beregnet kolonne, beregne en verdi ved å trekke verdiene i den UnitCost kolonne fra verdiene i den Enhetspris kolonnen?

Du finner svarene ved slutten av dette emnet.

Funksjoner

Funksjoner er forhåndsdefinerte formler som utfører beregninger ved å bruke 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 TRUE eller FALSE eller konstanter.

DAX inneholder følgende kategorier av funksjoner: dato og klokkeslett, informasjon, logikk, matematisk, statistikk, tekst og funksjoner for tidsintelligens. Hvis du er fortrolig med funksjoner i Excel-formler, ser mange funksjoner i DAX ut som du; DAX-funksjoner er imidlertid unike på følgende måter:

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

  • Hvis du må tilpasse beregninger rad for rad, har DAX funksjoner som lar deg bruke gjeldende radverdi eller en relatert verdi som et slags argument, til å utføre beregninger som varierer etter kontekst. Du skal lære mer om kontekst senere.

  • DAX inneholder mange funksjoner som returnerer en tabell i stedet for en verdi. Tabellen vises ikke, men den brukes til å levere 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 har en rekke funksjoner for tidsintelligens. Disse funksjonene kan du definere eller Velg datointervaller og utføre dynamisk beregninger basert på disse. Du kan for eksempel sammenligne summer på tvers av parallelle perioder.

Noen ganger er det vanskelig å vite hvilke funksjoner kan hende du må bruke i en formel. Power Pivot og tabellmodell designer i SQL Server Data Tools omfatter funksjonen Sett inn funksjon, en dialogboks som hjelper deg å velge funksjoner etter kategori, samt korte beskrivelser for hver funksjon.

Sett inn funksjon

La oss opprette en ny formel som inneholder en funksjon du skal velge 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 lengst til høyre i FactSales-tabellen, og klikk deretter Legg til kolonne i kolonneoverskriften.

  2. I formellinjen skriver du inn et likhetstegn, =.

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

  4. Klikk boksen Velg en kategori i dialogboksen Sett inn funksjon. Alle er merket som standard, og alle funksjonene i kategorien alle vises nedenfor. Det er mange funksjoner, slik at du vil filtrere funksjoner for å gjøre det enklere å finne frem til funksjonen du leter etter.

  5. Denne formelen vil du returnere noen data som allerede finnes i en annen tabell. For dette, har du tenkt å bruke en funksjon i kategorien Filtrer. Gå videre og klikk kategorien Filtrer og i Velg en funksjon, blar du nedover og dobbeltklikk den RELATERTE funksjonen. Klikk Ok for å lukke dialogboksen Sett inn funksjon.

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

  7. Lukk formelen, og trykk Enter.

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

  9. Gi nytt navn til kolonne til Channel.

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

Du ble bare introdusert til en annen svært viktig funksjon i DAX, funksjonen BESLEKTEDE . Den RELATERTE funksjonen returnerer verdier fra en annen tabell. Du kan bruke BESLEKTEDE Hvis det er en relasjon mellom tabellen du er i og tabellen som inneholder verdiene du vil ha. Den RELATERTE funksjonen selvfølgelig omfattende muligheter. I dette tilfellet kan du nå inkludere kanalen for salg for hvert salg i FactSales-tabellen. Nå kan du skjule tabellen DimChannel fra feltlisten for pivottabell, noe som gjør det enklere å navigere og bare se de viktigste informasjonen du virkelig trenger. Den RELATERTE funksjonen er svært viktig på samme måte som CALCULATE-funksjonen som er beskrevet tidligere, og du sannsynligvis vil bruke den flere ganger.

Som du kan se, lar deg opprette svært kraftige formler i funksjoner i DAX. Vi egentlig bare endres på grunnleggende om funksjoner. Som ferdighetene dine DAX forbedre, vil du opprette formler ved hjelp av mange forskjellige funksjoner. En av de beste der du mer informasjon om alle DAX-funksjoner er i Data Analysis Expressions (DAX) referanse.

Raske spørsmål om funksjoner

  1. Hva refererer en funksjon alltid til?

  2. Kan en formel inneholde flere funksjoner?

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

Du finner svarene ved slutten av dette emnet.

Kontekst

Kontekst er én av de viktigste DAX-konseptene å forstå. Det finnes to typer kontekst i DAX; radkontekst og filterkontekst. Vi vil først se radkontekst.

Radkontekst

Det er enklest å se på radkontekst som den gjeldende raden. Husker du den beregnede kolonnen Margin vi brukte tidligere da du lærte om syntaks? Formelen =[SalesAmount] - [TotalCost] beregner en verdi i Margin-kolonnen for hver rad i tabellen. Verdier for hver rad beregnes fra verdier i to andre kolonner, [SalesAmount] og [TotalCost] i den samme raden. DAX kan beregne verdiene for hver rad i Margin-kolonnen fordi det har konteksten: For hver rad henter det verdier fra [TotalCost]-kolonnen og trekker dem fra verdier i [SalesAmount]-kolonnen.

I den merkede cellen nedenfor ble verdien $49.54 i den gjeldende raden beregnet ved å trekke verdien $51.54 i [TotalCost]-kolonnen fra verdien $101.08 i [SalesAmount]-kolonnen.

Radkontekst i PowerPivot

Radkontekst gjelder ikke bare for beregnede kolonner. Radkontekst gjelder også når en formel som har en funksjon som gjelder filtre for å identifisere en enkelt rad i en tabell. Funksjonen gjelder arvbart en radkontekst for hver rad i tabellen der det er filtrert. Denne typen radkontekst gjelder oftest mål.

Filterkontekst

Filterkontekst er noe vanskeligere å forstå enn radkontekst. Det er lettest å se på filterkontekst som følgende: Ett eller flere filtre brukt i en beregning som regner ut et resultat eller en verdi.

Filterkontekst finnes ikke i stedet for radkontekst. Det brukes derimot i tillegg til radkontekst. Hvis du vil ytterligere avgrense verdiene som for eksempel skal inkluderes i en beregning, kan du bruke en filterkontekst som ikke bare spesifiserer radkonteksten, men som også spesifiserer bare en bestemt verdi (et filter) i denne radkonteksten.

Det er lett å oppdage filterkontekst i pivottabeller. Når du for eksempel legger til totale kostnader i Verdier-området og deretter legger til år og område i rader eller kolonner, definerer du en filterkontekst som velger et delsett med data basert på et gitt år og område.

Hvorfor er filterkontekst så viktig å DAX? Fordi mens filterkontekst kan enkelt brukes ved å legge til kolonne og radetiketter og slicere i en pivottabell, filterkontekst kan også brukes i en DAX-formel ved å definere et filter ved hjelp av funksjoner for eksempel alle, BESLEKTEDE, FILTRERING av BEREGN ved relasjoner, og av andre mål og kolonner. Hvis du for eksempel la oss se på følgende formel i et mål som heter StoreSales:

Formel

Denne formelen er helt klart mer komplisert enn enkelte av de andre formlene du har sett. Vi kan imidlertid bryte ned formelen for å forstå den bedre, mye på samme måte som vi har gjort med andre formler.

Denne formelen inneholder følgende syntakselementer:

  1. Mål navnet StoreSales, fulgt av et kolon:.

  2. Likhetstegnet (=) indikerer begynnelsen av formelen.

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

  4. Parenteser () omgir ett eller flere argumenter.

  5. Et mål [Sales] i samme tabell som et uttrykk. Salg har det formelen: = SUM(FactSales[SalesAmount]).

  6. Et komma (,) separerer hvert filter.

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

Denne formelen sikrer bare salg verdiene, definert av salg-mål som et filter, beregnes bare for rader i kolonnen DimChannel [ChannelName] med verdien "Store", som et filter.

Som du kan tenke deg, har du mange muligheter ved at du kan definere filterkontekst i en formel. Det å kunne referere bare til én bestemt verdi i en relatert tabell er bare ett slikt eksempel. Slapp av hvis du ikke forstår kontekst full ut med én gang. Etter hvert som du oppretter dine egne formler, vil du forstå kontekst bedre og hvorfor det er så viktig i DAX.

Raske spørsmål om kontekst

  1. Hva er de to konteksttypene?

  2. Hva er filterkontekst?

  3. Hva er radkontekst?

Du finner svarene ved slutten av dette emnet.

Sammendrag

Nå som du har en grunnleggende forståelse av de viktigste konsepter i DAX, kan du begynne å opprette DAX-formler for beregnede kolonner og mål på egen hånd. DAX virkelig kan være litt vanskelig å lære, men det er mange ressurser som er tilgjengelige for deg. Etter at lese gjennom emnet noen ganger, og eksperimentere med noen av dine egne formler, kan du lære mer om andre DAX-begreper og formler som kan hjelpe deg å løse bedriftens problemer. Mange DAX-ressurser er tilgjengelige for deg i Power Pivot hjelp, SQL Server Books Online, dokumentasjon og blogger fra både Microsoft og innledende BI-eksperter. DAX ressurs Center Wiki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) er et flott sted å begynne. Data Analysis Expressions (DAX) referanse er også en god ressurs. Pass på å lagre den i Favoritter.

Hvitboken DAX i BI Tabular Model, tilgjengelig for nedlasting (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) gir et mer detaljert innblikk i konseptene som er introdusert her, i tillegg til mange andre avanserte konsepter og formler. Denne hvitboken bruker også den samme Contoso DAX Sample Formulas.xlsx-arbeidsboken som du allerede har.

Svar på raske spørsmål

Syntaks:

  1. Åpner funksjonen Sett inn funksjon.

  2. Hakeparenteser [].

  3. = [Enhetspris] - [Enhetspris]

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 regner ut én enkelt verdi.

  3. Gjeldende rad.

Bli bedre på Office
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×