Logg på med Microsoft
Logg på, eller opprett en konto.
Hei,
Velg en annen konto.
Du har flere kontoer
Velg kontoen du vil logge på med.

Denne delen inneholder koblinger til eksempler som viser bruken av DAX-formler i følgende scenarier.

  • Utføre komplekse beregninger

  • Arbeide med tekst og datoer

  • Betingede verdier og testing for feil

  • Bruke tidsintelligens

  • Rangere og sammenligne verdier

I denne artikkelen

Komme i gang

Gå til DAX-ressurssenter-wikien der du kan finne all slags informasjon om DAX, inkludert blogger, eksempler, whitepapers og videoer levert av bransjeledende teknikere og Microsoft.

Scenarioer: Utføre komplekse beregninger

DAX-formler kan utføre komplekse beregninger som involverer egendefinerte aggregasjoner, filtrering og bruk av betingede verdier. Denne delen inneholder eksempler på hvordan du kommer i gang med egendefinerte beregninger.

Opprette egendefinerte beregninger for en pivottabell

CALCULATE og CALCULATETABLE er kraftige, fleksible funksjoner som er nyttige for å definere beregnede felt. Med disse funksjonene kan du endre konteksten som beregningen skal utføres i. Du kan også tilpasse typen aggregering eller matematisk operasjon som skal utføres. Se følgende emner for eksempler.

Bruke et filter på en formel

På de fleste steder der en DAX-funksjon tar en tabell som et argument, kan du vanligvis sende i en filtrert tabell i stedet, enten ved hjelp av FILTER-funksjonen i stedet for tabellnavnet, eller ved å angi et filteruttrykk som ett av funksjonsargumentene. Emnene nedenfor gir eksempler på hvordan du oppretter filtre og hvordan filtre påvirker resultatene av formler. Hvis du vil ha mer informasjon, kan du se Filtrere data i DAX-formler.

Med FILTER-funksjonen kan du angi filtervilkår ved hjelp av et uttrykk, mens de andre funksjonene er utformet spesielt for å filtrere ut tomme verdier.

Fjerne filtre selektivt for å opprette et dynamisk forhold

Ved å opprette dynamiske filtre i formler kan du enkelt svare på spørsmål, for eksempel følgende:

  • Hva var bidraget fra det gjeldende produktets salg til totalt salg for året?

  • Hvor mye har denne divisjonen bidratt til total fortjeneste for alle driftsår, sammenlignet med andre divisjoner?

Formler som du bruker i en pivottabell, kan påvirkes av pivottabellkonteksten, men du kan selektivt endre konteksten ved å legge til eller fjerne filtre. Eksemplet i ALLE-emnet viser deg hvordan du gjør dette. Hvis du vil finne salgsforholdet for en bestemt forhandler over salg for alle forhandlere, oppretter du et mål som beregner verdien for gjeldende kontekst dividert med verdien for ALL-konteksten.

ALLEXCEPT-emnet gir et eksempel på hvordan du velger å fjerne filtre på en formel. Begge eksemplene viser deg hvordan resultatene endres avhengig av utformingen av pivottabellen.

Hvis du vil ha andre eksempler på hvordan du beregner forhold og prosenter, kan du se følgende emner:

Bruke en verdi fra en ytre sløyfe

I tillegg til å bruke verdier fra gjeldende kontekst i beregninger, kan DAX bruke en verdi fra en tidligere løkke når du oppretter et sett med relaterte beregninger. Følgende emne gir en gjennomgang av hvordan du bygger en formel som refererer til en verdi fra en ytre sløyfe. TIDLIGERE-funksjonen støtter opptil to nivåer med nestede løkker.

Hvis du vil lære mer om radkontekst og relaterte tabeller og hvordan du bruker dette konseptet i formler, kan du se Kontekst i DAX-formler.

Scenarioer: Arbeide med tekst og datoer

Denne delen inneholder koblinger til DAX-referanseemner som inneholder eksempler på vanlige scenarier som involverer å arbeide med tekst, trekke ut og skrive dato- og klokkeslettverdier eller opprette verdier basert på en betingelse.

Opprette en nøkkelkolonne ved å kjede sammen

Power Pivot tillater ikke sammensatte nøkler. Hvis du har sammensatte nøkler i datakilden, kan det derfor hende du må kombinere dem i én enkelt nøkkelkolonne. Følgende emne inneholder ett eksempel på hvordan du oppretter en beregnet kolonne basert på en sammensatt nøkkel.

Skrive en dato basert på datodeler som er trukket ut fra en tekstdato

Power Pivot bruker datatypen SQL Server dato/klokkeslett til å arbeide med datoer. Hvis de eksterne dataene inneholder datoer som er formatert på en annen måte– for eksempel hvis datoene er skrevet i et regionalt datoformat som ikke gjenkjennes av Power Pivot-datamotoren, eller hvis dataene bruker heltalls surrogatnøkler – må du kanskje bruke en DAX-formel til å trekke ut datodelene og deretter skrive delene inn i en gyldig dato/klokkeslett-fremstilling.

Hvis du for eksempel har en kolonne med datoer som er representert som et heltall og deretter importert som en tekststreng, kan du konvertere strengen til en dato/klokkeslett-verdi ved hjelp av følgende formel:

=DATO(HØYRE([Verdi1];4),VENSTRE([Verdi1];2),DELTEKST([Verdi1];2))

Verdi1

Resultat

01032009

1/3/2009

12132008

12/13/2008

06252007

6/25/2007

Emnene nedenfor gir mer informasjon om funksjonene som brukes til å trekke ut og skrive datoer.

Definere et egendefinert dato- eller tallformat

Hvis dataene inneholder datoer eller tall som ikke er representert i et av standardformatene Windows tekstformater, kan du definere et egendefinert format for å sikre at verdiene håndteres riktig. Disse formatene brukes når du konverterer verdier til strenger eller fra strenger. Emnene nedenfor gir også en detaljert liste over de forhåndsdefinerte formatene som er tilgjengelige for arbeid med datoer og tall.

Endre datatyper ved hjelp av en formel

I Power Pivot bestemmes datatypen for utdataene av kildekolonnene, og du kan ikke eksplisitt angi datatypen for resultatet, fordi den optimale datatypen bestemmes av Power Pivot. Du kan imidlertid bruke implisitte datatypekonverteringer utført av Power Pivot til å manipulere datatypen utdata. 

  • Hvis du vil konvertere en dato eller en tallstreng til et tall, multipliseres med 1,0. Formelen nedenfor beregner for eksempel gjeldende dato minus 3 dager, og sender deretter den tilsvarende heltallverdien.

    =(IDAG()-3)*1,0

  • Hvis du vil konvertere en dato-, tall- eller valutaverdi til en streng, kjeder du sammen verdien med en tom streng. Formelen nedenfor returnerer for eksempel dagens dato som en streng.

    =""& IDAG()

Følgende funksjoner kan også brukes til å sikre at en bestemt datatype returneres:

Konvertere reelle tall til heltall

Scenario: Betingede verdier og testing for feil

I Excel har DAX funksjoner som lar deg teste verdier i dataene og returnere en annen verdi basert på en betingelse. Du kan for eksempel opprette en beregnet kolonne som merker forhandlere enten som Foretrukket eller Verdi, avhengig av det årlig salgsbeløpet. Funksjoner som tester verdier, er også nyttige for å kontrollere området eller verditypen, for å hindre uventede datafeil i å bryte beregninger.

Opprette en verdi basert på en betingelse

Du kan bruke nestede HVIS-betingelser til å teste verdier og generere nye verdier betinget. Følgende emner inneholder noen enkle eksempler på betinget behandling og betingede verdier:

Teste for feil i en formel

I Excel kan du ikke ha gyldige verdier i én rad i en beregnet kolonne og ugyldige verdier i en annen rad. Det vil si at hvis det er en feil i en del av en Power Pivot kolonne, flagges hele kolonnen med en feil, slik at du alltid må rette formelfeil som fører til ugyldige verdier.

Hvis du for eksempel oppretter en formel som dividerer med null, kan du få uendeligresultatet eller en feil. Noen formler vil også mislykkes hvis funksjonen støter på en tom verdi når den forventer en numerisk verdi. Når du utvikler datamodellen, er det best å tillate at feilene vises, slik at du kan klikke på meldingen og feilsøke problemet. Når du publiserer arbeidsbøker, bør du imidlertid inkludere feilbehandling for å hindre at uventede verdier fører til at beregninger mislykkes.

Hvis du vil unngå å returnere feil i en beregnet kolonne, bruker du en kombinasjon av logiske funksjoner og informasjonsfunksjoner til å teste for feil og alltid returnere gyldige verdier. Følgende emner gir noen enkle eksempler på hvordan du gjør dette i DAX:

Scenarioer: Bruke Tidsintelligens

DAX-funksjonene for tidsintelligens inneholder funksjoner som hjelper deg med å hente datoer eller datointervaller fra dataene. Du kan deretter bruke disse datoene eller datointervallene til å beregne verdier på tvers av lignende perioder. Funksjonene for tidsintelligens inkluderer også funksjoner som fungerer med standard datointervaller, slik at du kan sammenligne verdier på tvers av måneder, år eller kvartaler. Du kan også opprette en formel som sammenligner verdier for første og siste dato i en bestemt periode.

Hvis du vil ha en liste over alle tidsintelligensfunksjoner, kan du se Funksjoner for tidsintelligens (DAX). Hvis du vil ha tips om hvordan du bruker datoer og klokkeslett effektivt i en Power Pivot analyse, kan du se Datoer i Power Pivot.

Beregne kumulativt salg

Emnene nedenfor inneholder eksempler på hvordan du beregner avslutnings- og åpningssaldoer. Eksemplene lar deg opprette løpende saldoer på tvers av ulike intervaller, for eksempel dager, måneder, kvartaler eller år.

Sammenligne verdier over tid

Emnene nedenfor inneholder eksempler på hvordan du sammenligner summer på tvers av ulike tidsperioder. Standard tidsperioder som støttes av DAX, er måneder, kvartaler og år.

Beregne en verdi over et egendefinert datoområde

Se følgende emner for eksempler på hvordan du henter egendefinerte datoområder, for eksempel de første 15 dagene etter starten på en salgskampanje.

Hvis du bruker tidsintelligensfunksjoner til å hente et egendefinert sett med datoer, kan du bruke dette settet med datoer som inndata til en funksjon som utfører beregninger, til å opprette egendefinerte aggregeringer på tvers av tidsperioder. Se følgende emne for et eksempel på hvordan du gjør dette:

  • PARALLELPERIOD-funksjonen

    Obs!: Hvis du ikke trenger å angi et egendefinert datointervall, men arbeider med standard regnskapsenheter, for eksempel måneder, kvartaler eller år, anbefaler vi at du utfører beregninger ved hjelp av funksjonene for tidsintelligens som er utformet for dette formålet, for eksempel TOTALQTD, TOTALMTD, TOTALQTD og så videre.

Scenarioer: Rangering og sammenligning av verdier

Hvis du bare vil vise det øverste n antall elementer i en kolonne eller pivottabell, har du flere alternativer:

  • Du kan bruke funksjonene i Excel 2010 til å opprette et Topp-filter. Du kan også velge et antall topp- eller bunnverdier i en pivottabell. Den første delen av denne delen beskriver hvordan du filtrerer etter de ti øverste elementene i en pivottabell. Hvis du vil ha mer informasjon, kan du Excel dokumentasjonen.

  • Du kan opprette en formel som dynamisk rangerer verdier, og deretter filtrere etter rangeringsverdiene, eller bruke rangeringsverdien som en slicer. Den andre delen av denne delen beskriver hvordan du oppretter denne formelen og deretter bruker denne rangeringen i en slicer.

Det finnes fordeler og ulemper med hver metode.

  • Filteret Excel er enkelt å bruke, men filteret er utelukkende for visningsformål. Hvis dataene som er underliggende pivottabellen, endres, må du oppdatere pivottabellen manuelt for å se endringene. Hvis du trenger å arbeide dynamisk med rangeringer, kan du bruke DAX til å opprette en formel som sammenligner verdier med andre verdier i en kolonne.

  • DAX-formelen er kraftigere. Ved å legge til rangeringsverdien i en slicer, kan du også klikke sliceren for å endre antall øverste verdier som vises. Beregningene er imidlertid beregningsmessig dyre, og denne metoden passer kanskje ikke for tabeller med mange rader.

Vise bare de ti øverste elementene i en pivottabell

Slik viser du de øverste eller nederste verdiene i en pivottabell

  1. Klikk pil ned i Radetiketter-overskriften i pivottabellen.

  2. Velg Verdifiltre> ti på topp.

  3. Velg kolonnen som skal rangeres>< i dialogboksen <filternavn, og antall verdier, som følger:

    1. Velg Øverst for å se cellene med de høyeste verdiene eller Nederst for å se cellene med de laveste verdiene.

    2. Skriv inn antallet topp- eller bunnverdier du vil se. Standardverdien er 10.

    3. Velg hvordan du vil at verdiene skal vises:

Navn

Beskrivelse

Elementer

Velg dette alternativet for å filtrere pivottabellen for å vise bare listen over de øverste eller nederste elementene etter verdiene.

Prosent

Velg dette alternativet for å filtrere pivottabellen for å vise bare elementene som legger sammen den angitte prosentandelen.

Summer

Velg dette alternativet for å vise summen av verdiene for de øverste eller nederste elementene.

  1. Merk kolonnen som inneholder verdiene du vil rangere.

  2. Klikk på OK.

Ordne elementer dynamisk ved hjelp av en formel

Følgende emne inneholder et eksempel på hvordan du bruker DAX til å opprette en rangering som er lagret i en beregnet kolonne. Siden DAX-formler beregnes dynamisk, kan du alltid være sikker på at rangeringen er riktig selv om de underliggende dataene er endret. Fordi formelen brukes i en beregnet kolonne, kan du også bruke rangeringen i en slicer og deretter velge de 5 øverste, ti høyeste eller til og med de 100 høyeste verdiene.

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?
Når du trykker på Send inn, blir tilbakemeldingen brukt til å forbedre Microsoft-produkter og -tjenester. IT-administratoren kan samle inn disse dataene. Personvernerklæring.

Takk for tilbakemeldingen!

×