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

Dette afsnit indeholder links til eksempler, der demonstrerer brugen af DAX-formler i følgende scenarier.

  • Udførelse af komplekse beregninger

  • Arbejde med tekst og datoer

  • Betingede værdier og test for fejl

  • Brug af tidsintelligens

  • Rangering og sammenligning af værdier

I denne artikel

Introduktion

Besøg wikien DAX Resource Center , hvor du kan finde alle mulige oplysninger om DAX, herunder blogs, eksempler, whitepapers og videoer, der leveres af brancheførende fagfolk og Microsoft.

Scenarier: Udførelse af komplekse beregninger

DAX-formler kan udføre komplekse beregninger, der involverer brugerdefinerede sammenlægninger, filtrering og brug af betingede værdier. Dette afsnit indeholder eksempler på, hvordan du kommer i gang med brugerdefinerede beregninger.

Oprette brugerdefinerede beregninger for en pivottabel

CALCULATE og CALCULATETABLE er effektive og fleksible funktioner, der er nyttige til at definere beregnede felter. Med disse funktioner kan du ændre den kontekst, som beregningen udføres i. Du kan også tilpasse den type sammenlægning eller matematisk handling, der skal udføres. Se følgende emner for at få eksempler.

Anvend et filter på en formel

De fleste steder, hvor en DAX-funktion tager en tabel som argument, kan du normalt overføre i en filtreret tabel i stedet, enten ved hjælp af funktionen FILTRER i stedet for tabelnavnet eller ved at angive et filterudtryk som et af funktionsargumenterne. Følgende emner indeholder eksempler på, hvordan du opretter filtre, og hvordan filtre påvirker resultaterne af formler. Du kan få mere at vide under Filtrer data i DAX-formler.

Med funktionen FILTRER kan du angive filterkriterier ved hjælp af et udtryk, mens de andre funktioner er designet specifikt til at filtrere tomme værdier fra.

Fjern filtre selektivt for at oprette et dynamisk forhold

Ved at oprette dynamiske filtre i formler kan du nemt besvare spørgsmål som følgende:

  • Hvad var bidraget fra det aktuelle produkts salg til det samlede salg for året?

  • Hvor meget har denne division bidraget til det samlede overskud for alle driftsår sammenlignet med andre divisioner?

Formler, du bruger i en pivottabel, kan blive påvirket af pivottabelkonteksten, men du kan selektivt ændre konteksten ved at tilføje eller fjerne filtre. I eksemplet i EMNET ALLE kan du se, hvordan du gør dette. Hvis du vil finde forholdet mellem salg for en bestemt forhandler og salg for alle forhandlere, skal du oprette en måling, der beregner værdien for den aktuelle kontekst divideret med værdien for ALLE-konteksten.

Emnet ALLEXCEPT er et eksempel på, hvordan du selektivt rydder filtre på en formel. Begge eksempler fører dig gennem, hvordan resultaterne ændres, afhængigt af designet af pivottabellen.

Du kan se andre eksempler på, hvordan du beregner nøgletal og procentdele, i følgende emner:

Brug af en værdi fra en ydre løkke

Ud over at bruge værdier fra den aktuelle kontekst i beregninger kan DAX bruge en værdi fra en tidligere løkke til at oprette et sæt relaterede beregninger. Følgende emne indeholder en gennemgang af, hvordan du opbygger en formel, der refererer til en værdi fra en ydre løkke. Funktionen TIDLIGERE understøtter op til to niveauer af indlejrede løkker.

Du kan få mere at vide om rækkekontekst og relaterede tabeller, og hvordan du bruger dette koncept i formler, under Kontekst i DAX-formler.

Scenarier: Arbejde med tekst og datoer

Dette afsnit indeholder links til DAX-referenceemner, der indeholder eksempler på almindelige scenarier, der involverer at arbejde med tekst, udtrække og skrive dato- og klokkeslætsværdier eller oprette værdier baseret på en betingelse.

Opret en nøglekolonne ved sammenkædning

Power Pivot tillader ikke sammensatte nøgler. Hvis du har sammensatte nøgler i datakilden, kan det derfor være nødvendigt at kombinere dem i en enkelt nøglekolonne. Følgende emne indeholder et eksempel på, hvordan du opretter en beregnet kolonne baseret på en sammensat nøgle.

Opret en dato baseret på datodele, der er udtrukket fra en tekstdato

Power Pivot bruger en SQL Server-datatype for dato/klokkeslæt til at arbejde med datoer. Hvis dine eksterne data indeholder datoer, der er formateret anderledes – f.eks. hvis dine datoer er skrevet i et regionalt datoformat, der ikke genkendes af det Power Pivot dataprogram, eller hvis dine data bruger heltals surrogatnøgler – kan det være nødvendigt at bruge en DAX-formel til at udtrække datodelene og derefter skrive delene til en gyldig repræsentation af dato/klokkeslæt.

Hvis du f.eks. har en kolonne med datoer, der er blevet repræsenteret som et heltal og derefter importeret som en tekststreng, kan du konvertere strengen til en dato/klokkeslæt-værdi ved hjælp af følgende formel:

=DATO(HØJRE([Værdi1],4),VENSTRE([Værdi1],2),MIDT([Værdi1],2))

Værdi1

Resultat

01032009

1/3/2009

12132008

12/13/2008

06252007

6/25/2007

Følgende emner indeholder flere oplysninger om de funktioner, der bruges til at udtrække og skrive datoer.

Definer et brugerdefineret dato- eller talformat

Hvis dine data indeholder datoer eller tal, der ikke er repræsenteret i et af Windows-standardtekstformaterne, kan du definere et brugerdefineret format for at sikre, at værdierne håndteres korrekt. Disse formater bruges, når du konverterer værdier til strenge eller fra strenge. Følgende emner indeholder også en detaljeret liste over de foruddefinerede formater, der er tilgængelige til at arbejde med datoer og tal.

Ændre datatyper ved hjælp af en formel

I Power Pivotbestemmes datatypen for outputtet af kildekolonnerne, og du kan ikke eksplicit angive datatypen for resultatet, fordi den optimale datatype bestemmes af Power Pivot. Du kan dog bruge de implicitte datatypekonverteringer, der udføres af Power Pivot , til at manipulere outputdatatypen. 

  • Hvis du vil konvertere en dato eller en talstreng til et tal, skal du multiplicere med 1,0. Følgende formel beregner f.eks. dags dato minus 3 dage og angiver derefter den tilsvarende heltalsværdi.

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

  • Hvis du vil konvertere en dato-, tal- eller valutaværdi til en streng, skal du sammenkæde værdien med en tom streng. Følgende formel returnerer f.eks. dags dato som en streng.

    =""& IDAG()

Følgende funktioner kan også bruges til at sikre, at en bestemt datatype returneres:

Konvertér reelle tal til heltal

Scenarie: Betingede værdier og test for fejl

Ligesom Excel har DAX funktioner, der gør det muligt at teste værdier i dataene og returnere en anden værdi baseret på en betingelse. Du kan f.eks. oprette en beregnet kolonne, der etiketterer forhandlere enten som Foretrukken eller Værdi afhængigt af det årlige salgsbeløb. Funktioner, der tester værdier, er også nyttige til at kontrollere området eller typen af værdier for at forhindre uventede datafejl i at bryde beregninger.

Oprette en værdi baseret på en betingelse

Du kan bruge indlejrede HVIS-betingelser til at teste værdier og generere nye værdier betinget. Følgende emner indeholder nogle enkle eksempler på betinget behandling og betingede værdier:

Test for fejl i en formel

I modsætning til Excel kan du ikke have gyldige værdier i én række i en beregnet kolonne og ugyldige værdier i en anden række. Hvis der er en fejl i en del af en Power Pivot kolonne, markeres hele kolonnen med flag med en fejl, så du altid skal rette formelfejl, der medfører ugyldige værdier.

Hvis du f.eks. opretter en formel, der dividerer med nul, kan du få uendelighedsresultatet eller en fejl. Nogle formler mislykkes også, hvis funktionen støder på en tom værdi, når den forventer en numerisk værdi. Mens du udvikler din datamodel, er det bedst at tillade, at fejlene vises, så du kan klikke på meddelelsen og foretage fejlfinding af problemet. Men når du publicerer projektmapper, skal du medtage fejlhåndtering for at forhindre uventede værdier i at medføre, at beregninger mislykkes.

Hvis du vil undgå at returnere fejl i en beregnet kolonne, skal du bruge en kombination af logiske funktioner og oplysningsfunktioner til at teste for fejl og altid returnere gyldige værdier. Følgende emner indeholder nogle enkle eksempler på, hvordan du gør dette i DAX:

Scenarier: Brug af Time Intelligence

Funktionerne DAX-tidsintelligens omfatter funktioner, der kan hjælpe dig med at hente datoer eller datointervaller fra dine data. Du kan derefter bruge disse datoer eller datointervaller til at beregne værdier på tværs af lignende perioder. Funktionerne til tidsintelligens omfatter også funktioner, der fungerer med standarddatointervaller, så du kan sammenligne værdier på tværs af måneder, år eller kvartaler. Du kan også oprette en formel, der sammenligner værdier for første og sidste dato i en bestemt periode.

Du kan se en liste over alle tidsintelligensfunktioner i Time Intelligence-funktioner (DAX). Du kan finde tip til, hvordan du bruger datoer og klokkeslæt effektivt i en Power Pivot analyse, under Datoer i Power Pivot.

Beregn akkumuleret salg

Følgende emner indeholder eksempler på, hvordan du beregner slut- og åbningssaldi. I eksemplerne kan du oprette løbende saldi på tværs af forskellige intervaller, f.eks. dage, måneder, kvartaler eller år.

Sammenlign værdier over tid

Følgende emner indeholder eksempler på, hvordan du sammenligner summer på tværs af forskellige tidsperioder. De standardtidsperioder, der understøttes af DAX, er måneder, kvartaler og år.

Beregne en værdi over et brugerdefineret datointerval

Se følgende emner for at få eksempler på, hvordan du henter brugerdefinerede datointervaller, f.eks. de første 15 dage efter starten på en salgskampagne.

Hvis du bruger time intelligence-funktioner til at hente et brugerdefineret sæt datoer, kan du bruge dette sæt datoer som input til en funktion, der udfører beregninger, til at oprette brugerdefinerede aggregater på tværs af tidsperioder. Se følgende emne for at få et eksempel på, hvordan du gør dette:

  • Funktionen PARALLELPERIOD

    Bemærk!: Hvis du ikke har brug for at angive et brugerdefineret datointerval, men arbejder med standardregnskabsenheder, f.eks. måneder, kvartaler eller år, anbefaler vi, at du udfører beregninger ved hjælp af de time intelligence-funktioner, der er udviklet til dette formål, f.eks. TOTALQTD, TOTALMTD, TOTALQTD osv.

Scenarier: Rangering og sammenligning af værdier

Hvis du kun vil have vist det øverste n antal elementer i en kolonne eller pivottabel, har du flere muligheder:

  • Du kan bruge funktionerne i Excel til at oprette et topfilter. Du kan også vælge et antal øverste eller nederste værdier i en pivottabel. Den første del af dette afsnit beskriver, hvordan du filtrerer efter de øverste 10 elementer i en pivottabel. Du kan få mere at vide i dokumentationen til Excel.

  • Du kan oprette en formel, der dynamisk rangerer værdier, og derefter filtrere efter rangeringsværdierne, eller du kan bruge rangeringsværdien som et udsnitsværktøj. I anden del af dette afsnit beskrives det, hvordan du opretter denne formel og derefter bruger rangeringen i et udsnitsværktøj.

Der er fordele og ulemper ved hver metode.

  • Excel Top-filteret er nemt at bruge, men filteret er udelukkende til visningsformål. Hvis de data, der ligger til grund for pivottabellen, ændres, skal du opdatere pivottabellen manuelt for at se ændringerne. Hvis du har brug for dynamisk at arbejde med rangering, kan du bruge DAX til at oprette en formel, der sammenligner værdier med andre værdier i en kolonne.

  • DAX-formlen er mere effektiv. Desuden kan du ved at føje rangeringsværdien til et udsnitsværktøj blot klikke på udsnittet for at ændre antallet af de øverste værdier, der vises. Beregningerne er dog beregningsmæssigt dyre, og denne metode er muligvis ikke egnet til tabeller med mange rækker.

Vis kun de ti øverste elementer i en pivottabel

Sådan får du vist de øverste eller nederste værdier i en pivottabel

  1. Klik på pil ned i overskriften Rækkenavne i pivottabellen.

  2. Vælg Værdifiltre> Top 10.

  3. I dialogboksen Filtrer øverst 10 <kolonnenavn> skal du vælge den kolonne, der skal rangordnes, og antallet af værdier på følgende måde:

    1. Vælg Top for at se cellerne med de højeste værdier eller Bund for at se cellerne med de laveste værdier.

    2. Skriv antallet af øverste eller nederste værdier, du vil have vist. Standardværdien er 10.

    3. Vælg, hvordan værdierne skal vises:

Navn

Beskrivelse

Elementer

Markér denne indstilling for at filtrere pivottabellen, så den kun viser listen over de øverste eller nederste elementer efter deres værdier.

Procent

Markér denne indstilling for at filtrere pivottabellen for kun at få vist de elementer, der udgør den angivne procentdel.

Sum

Vælg denne indstilling for at få vist summen af værdierne for de øverste eller nederste elementer.

  1. Markér den kolonne, der indeholder de værdier, du vil rangere.

  2. Klik på OK.

Bestil elementer dynamisk ved hjælp af en formel

Følgende emne indeholder et eksempel på, hvordan du bruger DAX til at oprette en rangering, der er gemt i en beregnet kolonne. Da DAX-formler beregnes dynamisk, kan du altid være sikker på, at rangeringen er korrekt, selvom de underliggende data er ændret. Da formlen bruges i en beregnet kolonne, kan du også bruge rangeringen i et udsnitsværktøj og derefter vælge de øverste 5, de øverste 10 eller endda de øverste 100 værdier.

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.