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.
Data Analysis Expressions (DAX) i Power Pivot

DaX (Data Analysis Expressions) lyder lidt skræmmende i starten, men lad ikke navnet narre dig. Grundlæggende DAX-funktioner er meget nemme at forstå. Det første, du skal gøre, er, at DAX IKKE er et programmeringssprog. DAX er et formelsprog. Du kan bruge DAX til at definere brugerdefinerede beregninger for beregnede kolonner og målinger (også kaldet beregnede felter). DAX indeholder nogle af de funktioner, der bruges i Excel formler, og flere funktioner, der er designet til at arbejde med relationelle data og udføre dynamisk akkumulering.

Forstå DAX-formler

DAX-formler ligner meget Excel formler. Hvis du vil oprette et, skal du skrive et lighedstegn efterfulgt af et funktionsnavn eller udtryk samt alle nødvendige værdier eller argumenter. Som Excel, indeholder DAX en række funktioner, som du kan bruge til at arbejde med strenge, udføre beregninger ved hjælp af datoer og klokkeslæt eller oprette betingede værdier.

Men DAX-formler er forskellige på følgende vigtige måder:

  • Hvis du vil tilpasse beregninger række for række, indeholder DAX funktioner, der gør det muligt at bruge den aktuelle rækkeværdi eller en relateret værdi til at udføre beregninger, der varierer alt efter kontekst.

  • DAX indeholder en type funktion, der returnerer en tabel som resultat, i stedet for en enkelt værdi. Disse funktioner kan bruges til at give input til andre funktioner.

  • Time Intelligence-funktioner I DAX kan du tillade beregninger ved hjælp af datoer og sammenligne resultaterne på tværs af parallelle perioder.

Her kan du bruge DAX-formler

Du kan oprette formler i Power Pivot enten i beregnede columns eller i beregnedef-ields.

Beregnede kolonner

En beregnet kolonne er en kolonne, du føjer til en eksisterende Power Pivot tabel. I stedet for at indsætte eller importere værdier i kolonnen kan du oprette en DAX-formel, der definerer kolonneværdierne. Hvis du medtager tabellen Power Pivot en pivottabel (eller en PivotChart), kan den beregnede kolonne bruges på samme måde som enhver anden datakolonne.

Formlerne i beregnede kolonner ligner de formler, du opretter i Excel. Til forskel Excel du dog ikke oprette en anden formel for forskellige rækker i en tabel. I stedet anvendes DAX-formlen automatisk på hele kolonnen.

Når en kolonne indeholder en formel, beregnes værdien for hver række. Resultaterne beregnes for kolonnen, så snart du opretter formlen. Kolonneværdier genberegnes kun, hvis de underliggende data opdateres, eller hvis der anvendes manuel genberegning.

Du kan oprette beregnede kolonner, der er baseret på målinger og andre beregnede kolonner. Du skal dog undgå at bruge det samme navn til en beregnet kolonne og en måling, da dette kan føre til forvirrende resultater. Når du henviser til en kolonne, er det bedst at bruge en fuldt kvalificeret kolonnereference for at undgå utilsigtet at få til at følge en måling.

Du kan finde flere oplysninger under Beregnede kolonner i Power Pivot.

Målinger

En måling er en formel, der er oprettet specifikt til brug i en pivottabel (eller et PivotChart), der bruger Power Pivot data. Målinger kan være baseret på standardsammenlægningsfunktioner som F.eks. TÆL eller SUM, eller du kan definere din egen formel ved hjælp af DAX. En måling bruges i området Værdier i en pivottabel. Hvis du vil placere beregnede resultater i et andet område i en pivottabel, skal du i stedet bruge en beregnet kolonne.

Når du definerer en formel for en eksplicit måling, sker der ikke noget, før du tilføjer målingen i en pivottabel. Når du tilføjer målingen, evalueres formlen for hver celle i området Værdier i pivottabellen. Da der oprettes et resultat for hver kombination af række- og kolonneoverskrifter, kan resultatet for målingen være forskelligt i hver celle.

Definitionen af den måling, du opretter, gemmes sammen med dens kildedatatabel. Den vises på pivottabelfeltlisten og er tilgængelig for alle brugere af projektmappen.

Du finder flere oplysninger under Målinger i Power Pivot.

Oprette formler ved hjælp af formellinjen

Power Pivot, f.eks. Excel, indeholder en formellinje, der gør det nemmere at oprette og redigere formler og funktionen Autofuldførelse for at minimere slå- og syntaksfejl.

Sådan angives navnet på en tabel   Begynd at skrive navnet på tabellen. Autofuldførelse af formel indeholder en rulleliste med gyldige navne, der begynder med disse bogstaver.

Sådan angives navnet på en kolonne   Skriv en kantparentes, og vælg derefter kolonnen på listen over kolonner i den aktuelle tabel. For en kolonne fra en anden tabel skal du begynde at skrive de første bogstaver i tabelnavnet og derefter vælge kolonnen på rullelisten Autofuldførelse.

Du kan finde flere oplysninger og en gennemgang af, hvordan du opbygger formler, under Opret formler til beregninger i Power Pivot.

Tips til brug af Autofuldførelse

Du kan bruge Autofuldførelse af formel midt i en eksisterende formel med indlejrede funktioner. Teksten umiddelbart før indsætningspunktet bruges til at vise værdier på rullelisten, og al tekst, der kommer efter indsætningspunktet, er uændret.

Definerede navne, du opretter for konstanter, vises ikke på rullelisten Autofuldførelse, men du kan stadig skrive dem.

Power Pivot tilføjer ikke den afsluttende parentes for funktioner eller matcher automatisk parenteser. Du skal sikre dig, at hver funktion er syntaks korrekt, eller at du ikke kan gemme eller bruge formlen. 

Brug af flere funktioner i en formel

Du kan indlejre funktioner, hvilket vil sige, at du bruger resultaterne fra én funktion som argument i en anden funktion. Du kan indlejre op til 64 funktionsniveauer i beregnede kolonner. Indlejring kan dog gøre det svært at oprette eller fejlfinde formler.

Mange DAX-funktioner er designet til udelukkende at blive brugt som indlejrede funktioner. Disse funktioner returnerer en tabel, som ikke kan gemmes direkte som resultat af den. den skal angives som input til en tabelfunktion. Funktionerne SUMX, AVERAGEX og MINX kræver f.eks. alle en tabel som det første argument.

Bemærk!: Nogle begrænsninger for indlejring af funktioner findes i målinger for at sikre, at ydeevnen ikke påvirkes af de mange beregninger, der kræves af afhængigheder mellem kolonner.

Sammenligning af DAX-funktioner Excel funktioner

Funktionsbiblioteket i DAX er baseret på Excel, men bibliotekerne har mange forskelle. I dette afsnit opsummeres forskellene og lighederne mellem Excel funktioner og DAX-funktioner.

  • Mange DAX-funktioner har samme navn og samme generelle funktionsmåde som Excel-funktioner, men er blevet ændret til at tage forskellige typer input, og i nogle tilfælde kan det returnere en anden datatype. Generelt kan du ikke bruge DAX-funktioner i Excel en formel eller bruge Excel i Power Pivot uden ændringer.

  • DAX-funktioner tager aldrig en cellereference eller et område som reference, men i stedet tager DAX-funktioner en kolonne eller tabel som reference.

  • DAX-dato- og klokkeslætsfunktioner returnerer en datetime-datatype. I modsætning hertil Excel dato- og klokkeslætsfunktioner et heltal, der repræsenterer en dato som et serienummer.

  • Mange af de nye DAX-funktioner returnerer enten en tabel med værdier eller foretager beregninger baseret på en tabel med værdier som input. In contrast, Excel has no functions that return a table, but some functions can work with arrays. Muligheden for nemt at referere til komplette tabeller og kolonner er en ny funktion i Power Pivot.

  • DAX indeholder nye opslagsfunktioner, der svarer til matrix- og vektoropslagsfunktionerne i Excel. Men DAX-funktionerne kræver, at der oprettes en relation mellem tabellerne.

  • Dataene i en kolonne forventes altid at være af samme datatype. Hvis dataene ikke er af samme type, ændrer DAX hele kolonnen til den datatype, der bedst tager højde for alle værdier.

DAX-datatyper

Du kan importere data til en Power Pivot datamodel fra mange forskellige datakilder, som muligvis understøtter forskellige datatyper. Når du importerer eller indlæser dataene og derefter bruger dataene i beregninger eller i pivottabeller, konverteres dataene til en Power Pivot datatyper. Du kan finde en liste over datatyperne under Datatyper i datamodeller.

Tabeldatatypen er en ny datatype i DAX, der bruges som input eller output til mange nye funktioner. Eksempelvis tager funktionen FILTRER en tabel som input og output i en anden tabel, der kun indeholder de rækker, der opfylder filterbetingelserne. Ved at kombinere tabelfunktioner med sammenlægningsfunktioner kan du udføre komplekse beregninger over dynamisk definerede datasæt. Du kan finde flere oplysninger under Sammenlægninger i Power Pivot.

Formler og den relationelle model

Vinduet Power Pivotet område, hvor du kan arbejde med flere tabeller med data og forbinde tabellerne i en relationel model. I denne datamodel er tabeller forbundet med hinanden via relationer, som gør det muligt at oprette korrelationer med kolonner i andre tabeller og oprette mere interessante beregninger. Du kan f.eks. oprette formler, der summerer værdier for en relateret tabel og derefter gemme denne værdi i en enkelt celle. Eller hvis du vil styre rækkerne fra den relaterede tabel, kan du anvende filtre på tabeller og kolonner. Få mere at vide under Relationer mellem tabeller i en datamodel.

Da du kan sammenkæde tabeller ved hjælp af relationer, kan dine pivottabeller også indeholde data fra flere kolonner, der er fra forskellige tabeller.

Men da formler kan arbejde med hele tabeller og kolonner, skal du designe beregninger anderledes, end du gør i Excel.

  • Generelt anvendes en DAX-formel i en kolonne altid på hele værdisættet i kolonnen (aldrig til kun nogle få rækker eller celler).

  • Tabeller i Power Pivot skal altid have det samme antal kolonner i hver række, og alle rækker i en kolonne skal indeholde den samme datatype.

  • Når tabeller er forbundet via en relation, forventes det at sikre, at de to kolonner, der bruges som nøgler, for det meste har værdier, der matcher. Da Power Pivot gennemtvinger referentiel integritet, er det muligt at have værdier, der ikke matcher, i en nøglekolonne og stadig oprette en relation. Men tilstedeværelsen af tomme eller ikke-matchende værdier kan påvirke resultaterne af formler og udseendet af pivottabeller. Du kan finde flere oplysninger i Opslag i Power Pivot-formler.

  • Når du sammenkæder tabeller ved hjælp af relationer, forstørrer du omfanget eller context, hvori dine formler evalueres. Formler i en pivottabel kan f.eks. blive påvirket af filtre eller kolonne- og rækkeoverskrifter i pivottabellen. Du kan skrive formler, der manipulerer konteksten, men kontekst kan også medføre, at dine resultater ændres på måder, som du muligvis ikke forventer. Du kan få mere at vide under Kontekst i DAX-formler.

Opdatering af resultaterne af formler

Data r efresh og genberegning er to separate, men relaterede handlinger, som du bør forstå, når du designer en datamodel, der indeholder komplekse formler, store mængder data eller data, der er hentet fra eksterne datakilder.

Opdatering af data er en proces, hvor dataene i projektmappen opdateres med nye data fra en ekstern datakilde. Du kan opdatere dataene manuelt med intervaller, du angiver. Hvis du har publiceret projektmappen på et SharePoint websted, kan du planlægge en automatisk opdatering fra eksterne kilder.

Genberegning er den proces, hvor resultaterne af formlerne opdateres, så de afspejler eventuelle ændringer i selve formlerne og afspejler ændringerne i de underliggende data. Genberegning kan påvirke ydeevnen på følgende måder:

  • For en beregnet kolonne skal resultatet af formlen altid genberegnes for hele kolonnen, når du ændrer formlen.

  • For en måling beregnes resultaterne af en formel ikke, før målingen er placeret i konteksten for pivottabellen eller PivotChart. Formlen genberegnes også, når du ændrer en række- eller kolonneoverskrift, der påvirker filtre på dataene, eller når du manuelt opdaterer pivottabellen.

Fejlfinding af formler

Fejl, når du skriver formler

Hvis du får en fejl, når du definerer en formel, kan formlen indeholde enten en syntaksfejl, semantiskfejl eller beregningsfejl.

Syntacticfejl er den nemmeste løsning. De omfatter typisk en manglende parentes eller et komma. Du kan finde hjælp til syntaksen for individuelle funktioner i Funktionsreferencen DAX.

Den anden type fejl opstår, når syntaksen er korrekt, men den værdi eller den kolonne, der refereres til, giver ikke mening i formlens kontekst. Disse semantiske fejl og beregningsfejl kan skyldes følgende problemer:

  • Formlen refererer til en ikke-eksisterende kolonne, tabel eller funktion.

  • Formlen ser ud til at være korrekt, men når dataprogrammet henter de data, finder det en typeuoverensstemmelse og opretter en fejl.

  • Formlen videregiver et forkert antal eller typen af parametre til en funktion.

  • Formlen refererer til en anden kolonne, der indeholder en fejl, og derfor er dens værdier ugyldige.

  • Formlen refererer til en kolonne, der ikke er blevet behandlet, dvs. den har metadata, men ingen faktiske data, der skal bruges til beregninger.

I de første fire tilfælde markerer DAX hele kolonnen, der indeholder den ugyldige formel. I det sidste tilfælde nedtones DAX kolonnen for at angive, at kolonnen er i en ikke-behandlet tilstand.

Forkerte eller usædvanlige resultater ved rangering eller rækkefølge af kolonneværdier

Når du rangerer eller sætter en kolonne i rækkefølge, der indeholder værdien NaN (Ikke et tal), kan du få forkerte eller uventede resultater. Når en beregning f.eks. dividerer 0 med 0, returneres der et Ikke-resultat.

Dette skyldes, at formelprogrammet udfører rækkefølge og rangering ved at sammenligne de numeriske værdier; Men NaN kan ikke sammenlignes med andre tal i kolonnen.

For at sikre korrekte resultater kan du bruge betingede udtryk ved hjælp af funktionen HVIS til at teste for NaN-værdier og returnere en numerisk 0-værdi.

Kompatibilitet med Tabelmodeller fra Analysis Services og DirectQuery-tilstand

Generelt er DAX-formler, som du bygger i Power Pivot , helt kompatible med tabelmodeller i Analysis Services. Men hvis du overfører din Power Pivot -model til en Analysis Services-forekomst og derefter installerer modellen i DirectQuery-tilstand, er der nogle begrænsninger.

  • Nogle DAX-formler returnerer muligvis andre resultater, hvis du installerer modellen i DirectQuery-tilstand.

  • Nogle formler kan forårsage valideringsfejl, når du installerer modellen i DirectQuery-tilstand, fordi formlen indeholder en DAX-funktion, der ikke understøttes i forhold til en relationel datakilde.

Du kan finde flere oplysninger i dokumentationen til modellering i tabelformat i Analysis Services SQL Server 2012 BooksOnline.

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!

×