Data Analysis Expressions (DAX) i Power Pivot

Data Analysis Expressions (DAX) i Power Pivot

DAX (Data Analysis Expressions) lyder lidt synes skræmmende ved første, men lad ikke navnet narre dig. Grundlæggende funktioner i DAX er meget nemt at forstå. Første ting, First-DAX, er ikke et programmeringssprog. DAX er et formel sprog. Du kan bruge DAX til at definere brugerdefinerede beregninger for beregnede kolonner og mål (også kaldet beregnede felter). DAX omfatter nogle af de funktioner, der bruges i Excel-formler, og yderligere funktioner, der er udviklet til at fungere med relationsdata og udføre dynamisk sammenlægning.

Forstå DAX-formler

DAX-formler minder meget om Excel-formler. Hvis du vil oprette en, skal du skrive et lighedstegn efterfulgt af et funktionsnavn eller udtryk og påkrævede værdier eller argumenter. Ligesom 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.

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

  • Hvis du vil tilpasse beregninger på en række for række-basis, omfatter 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 efter kontekst.

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

  • Time Intelligence-funktioneri DAX tillader beregninger ved hjælp af datointervaller og sammenligner resultaterne på tværs af parallelle perioder.

Hvor skal du bruge DAX-formler

Du kan oprette formler i Power Pivot enten i beregnet columns eller i beregnede fields.

Beregnede kolonner

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

Formlerne i beregnede kolonner minder meget om de formler, du opretter i Excel. I modsætning til Excel kan 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 bruges manuel genberegning.

Du kan oprette beregnede kolonner, der er baseret på mål og andre beregnede kolonner. Men undgå at bruge det samme navn til en beregnet kolonne og et mål, da dette kan medføre forvirrende resultater. Når du refererer til en kolonne, er det bedst at bruge en fuldstændig kolonnereference for at undgå ved et uheld at starte en måling ved et uheld.

Du kan finde mere detaljerede oplysninger i beregnede kolonner i Power Pivot.

Måle

Et mål er en formel, der er oprettet specifikt til brug i en pivottabel (eller et pivotdiagram), der bruger Power Pivot -data. Målinger kan baseres på standard Sammenlægnings funktioner som 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 foretage beregnede resultater i et andet område i en pivottabel, skal du bruge en beregnet kolonne i stedet.

Når du definerer en formel for et eksplicit mål, sker der ingenting, 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 anderledes i hver celle.

Definitionen af det målpunkt, du opretter, gemmes sammen med kildedata tabellen. Det vises på listen pivottabelfelter 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, som Excel, indeholder en formellinje, der gør det nemmere at oprette og redigere formler, og funktionen Autofuldførelse, for at minimere skrive-og syntaksfejl.

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

Sådan angiver du navnet på en kolonne   Skriv en kantet parentes, 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 detaljer og en gennemgang af, hvordan du opretter formler, under oprette formler til beregninger i Power Pivot.

Tip 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 teksten efter indsætningspunktet forbliver uændret.

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

Power Pivot tilføjer ikke højreparentesen på funktioner eller automatisk match parenteser. Du skal sikre, at hver funktion er syntaktisk korrekt, eller at du ikke kan gemme eller bruge formlen. 

Brug af flere funktioner i en formel

Du kan indlejre funktioner, hvilket betyder, at du bruger resultaterne fra én funktion som et argument af en anden funktion. Du kan indlejre op til 64 niveauer af funktioner i beregnede kolonner. Det kan dog være svært at oprette eller fejlfinde formler i indlejring.

Mange DAX-funktioner er beregnet til kun at blive brugt som indlejrede funktioner. Disse funktioner returnerer en tabel, der ikke kan gemmes direkte som et resultat. den skal angives som input til en tabelfunktion. For eksempel kræver funktionerne SUMX, AVERAGEX og MINX en tabel som det første argument.

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

Sammenligning af DAX-funktioner og Excel-funktioner

DAX-funktions biblioteket er baseret på Excel-funktions biblioteket, men bibliotekerne har mange forskelle. Dette afsnit indeholder en oversigt over forskelle og ligheder mellem Excel-funktioner og DAX-funktioner.

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

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

  • DAX-dato-og klokkeslætsfunktioner returnerer en DateTime-datatype. I modsætning hertil returnerer 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. I modsætning hertil har Excel ingen funktioner, der returnerer en tabel, men nogle funktioner kan fungere med matrixer. Muligheden for nemt at referere til komplette tabeller og kolonner er en ny funktion i Power Pivot.

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

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

DAX-data typer

Du kan importere data til en Power Pivot -datamodel fra mange forskellige datakilder, der kan understøtte forskellige datatyper. Når du importerer eller indlæser dataene og derefter brugerdataene i beregninger eller pivottabeller, konverteres dataene til en af Power Pivot datatyperne. Hvis du vil have en liste over datatyperne, skal du se datatyper i datamodeller.

Tabeldata typen er en ny datatype i DAX, der bruges som input eller output til mange nye funktioner. For eksempel tager Funktionen FILTER en tabel som input og udskriver en anden tabel, der kun indeholder de rækker, der opfylder filter betingelserne. Ved at kombinere tabelfunktioner med Sammenlægnings funktioner kan du udføre komplekse beregninger over dynamisk definerede datasæt. Du kan finde flere oplysninger i sammenlægninger i Power Pivot.

Formler og Relations modellen

Vinduet Power Pivoter et område, hvor du kan arbejde med flere datatabeller og forbinde tabellerne i en relations model. I denne datamodel er tabeller knyttet til hinanden efter relationer, som du kan bruge til at oprette korrelationer med kolonner i andre tabeller og oprette mere interessante beregninger. For eksempel kan du oprette formler, der summerer værdier for en relateret tabel og derefter gemme denne værdi i en enkelt celle. Hvis du vil styre rækkerne fra den relaterede tabel, kan du anvende filtre til tabeller og kolonner. Hvis du vil have mere at vide, skal du se relationer mellem tabeller i en data model.

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

Men da formler kan arbejde med hele tabeller og kolonner, skal du designe beregninger på en anden måde, end du gør i Excel.

  • Generelt anvendes en DAX-formel i en kolonne altid på alle de værdier, der er angivet i kolonnen (aldrig for 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 med en relation, forventes du at sikre, at de to kolonner, der bruges som nøgler, har værdier, der svarer til den mest del. Da Power Pivot ikke gennemtvinger referentiel integritet, er det muligt at have ikke-overensstemmende værdier i en nøglekolonne og stadig oprette en relation. Tilstedeværelse af tomme eller ikke-overensstemmende værdier kan påvirke resultaterne af formler og udseendet af pivottabeller. Du kan finde flere oplysninger under Opslag i Power Pivot-formler.

  • Når du sammenkæder tabeller ved hjælp af relationer, forstørres omfanget eller c-ontext , som dine formler evalueres i. F. eks. kan formler i en pivottabel påvirkes af alle filtre eller kolonne-og rækkeoverskrifter i pivottabellen. Du kan skrive formler, der manipulerer konteksten, men konteksten kan også bevirke, at dine resultater ændres på de måder, du muligvis ikke forventer. Hvis du vil have mere at vide, skal du se kontekst i DAX-formler.

Opdatere resultaterne af formler

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

Opdatering af data er processen med at opdatere dataene i din projektmappe med nye data fra en ekstern datakilde. Du kan opdatere data manuelt med de intervaller, du angiver. Hvis du har publiceret projektmappen til et SharePoint-websted, kan du planlægge en automatisk opdatering fra eksterne kilder.

Genberegning er processen med at opdatere resultaterne af formler for at afspejle eventuelle ændringer i formlerne selv og for at afspejle disse ændringer 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, hver gang du ændrer formlen.

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

Fejlfinding af formler

Fejl ved skrivning af formler

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

Syntaksfejl er den nemmeste at løse. De involverer typisk en manglende parentes eller et komma. Hvis du vil have hjælp til syntaksen for individuelle funktioner, skal du se funktions referencen DAX.

Den anden type fejl opstår, når syntaksen er korrekt, men værdien eller kolonnen, der refereres til, ikke giver mening i formlens sammenhæng. Sådanne semantiske og beregningsfejl kan skyldes et af følgende problemer:

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

  • Formlen ser ud til at være korrekt, men når data programmet henter dataene, finder det en typeuoverensstemmelse og udløser en fejl.

  • Formlen overfører et forkert tal eller en typeparametre til en funktion.

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

  • Formlen refererer til en kolonne, der ikke er blevet behandlet, hvilket betyder, at den har metadata, men ingen faktiske data at bruge til beregninger.

I de første fire tilfælde markerer DAX hele kolonnen, der indeholder den ugyldige formel. I det sidste tilfælde grå DAX kolonnen for at angive, at kolonnen er i uforarbejdet tilstand.

Forkerte eller usædvanlige resultater ved rangering eller sortering af kolonneværdier

Når du rangerer eller bestiller en kolonne, der indeholder værdien NaN (ikke et tal), får du muligvis forkerte eller uventede resultater. Hvis en beregning for eksempel dividerer 0 gange 0, returneres et NaN-resultat.

Det skyldes, at formel programmet foretager sortering og rangering ved at sammenligne de numeriske værdier. NaN kan dog ikke sammenlignes med andre tal i kolonnen.

Hvis du vil sikre korrekt resultater, kan du bruge betinget erklæring ved hjælp af funktionen hvis til at teste for NaN-værdier og returnere en numerisk 0-værdi.

Kompatibilitet med Analysis Services-tabel modeller og DirectQuery-tilstand

Generelt er DAX-formler, som du opretter i Power Pivot , fuldstændigt kompatible med Analysis Services-tabel modeller. 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 kan returnere forskellige resultater, hvis du installerer modellen i DirectQuery-tilstand.

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

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

Bemærk!:  Denne side er oversat ved hjælp af automatisering og kan indeholde grammatiske fejl og unøjagtigheder. Det er vores hensigt, at dette indhold skal være nyttigt for dig. Var disse oplysninger nyttige? Her er artiklen på engelsk, så du kan sammenligne.

Udvid dine Office-færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×