DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

Denne tutorial vil diskutere variabler, herunderogfunktioner. Du vil forstå, hvordan disse hjælper med at øge ydeevnen af ​​dine DAX-forespørgsler og give nøjagtige resultater.

Variabler bør bruges så meget som muligt, fordi de nemt kan finde koder til optimering. De forhindrer dig i at få forkerte output og sparer dig tid på at lede efter fejlen. Variabler forhindrer dog nogle gange en værdi i at blive genberegnet. Så når de først er defineret med en værdi, kan den værdi ikke ændres, heller ikke ved CALCUATE .

Det er vigtigt at vide, hvor du skal definere og bruge variabler, fordi brug af dem i og uden for en iteration vil generere forskellige resultater. De skal defineres tæt på, hvor de skal bruges. Dette hjælper også med at nedbryde lange koder, hvilket gør dem nemmere at forstå og fejlfinde.

Indholdsfortegnelse

Opret DAX-forespørgsler med CALCUATE og FILTER

Der er forskellige metoder til at få resultater og svar i DAX. Du skal udvikle din egen stil og flow i oprettelsen af ​​din rapport, så du kan være komfortabel med det, du arbejder med. Selvom du har din egen stil, skal du stadig følge de specifikke retningslinjer, som inkluderer at bruge CALCULATE over forskellige metoder såsom FILTER .

FILTER sender muligvis en masse ukomprimerede data til formelmotoren og kan potentielt udløse et CallBackDataID. Målinger vil blive brugt her til at vise resultaterne af CALCUATE og FILTER . Dette har også et defineret mål, som er lokalt for forespørgslen. Definerede mål kan ikke findes i datamodellen, men de kan udvikle og fejlfinde dine koder hurtigere.

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

I den første linje kan du se et mål, der definerer en variabel for datoen. Det betyder, at den filtrerer faktatabellen for de datoer, der opstår den 31. marts 2016 eller senere. Du kan også se et simpelt mål for det samlede salg, som gentager tabellen Faktasalg og multiplicerer mængde og aktuel pris.

Det næste mål er at brugeinde. Hvis du husker fra CallBackDataID- modulet, vil brug af et IF inde i SUMX-funktionen oprette et CallBackDataID .

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

Denne foranstaltning filtrerer hele tabellen Faktasalg. Det fjerner filtrene fra datotabellen.

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

Du skal være forsigtig, når du filtrerer en hel tabel, fordi den også vil filtrere alle de kolonner, der er på den ene side af en-til-mange-relationen.

Dette mål er det samme som det foregående mål; den eneste forskel er, at den ikke filtrerer hele tabellen. Den bruger SUMX til kun at iterere en filtreret tabel.

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

Dette er et andet mål, der filtrerer tabellen Faktasalg, men denne gang er det kun i kolonnen, hvor det er i.

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

Det sidste mål er at bruge CALCULATE og datamodellen til at filtrere og hente data.

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

Kør og kontroller hver måling

Kør først IF- målet. Sørg for at rydde cachen, før du kører forespørgslen og slår Server Timings og Query Plan til.

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

Selvom det giver de korrekte data, er ydeevnen langsom på grund af CallBackDataID og de 3 varigheder.

Hvis du kører målingen, der filtrerer hele tabellen Faktasalg, kan du stadig se CallBackDataID'et . Det vil også generere 15.003 rækker og give forkerte resultater.

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

Når du kører målingen, der ikke filtrerer hele tabellen Faktasalg, får du de korrekte resultater. Du vil dog stadig se CallBackDataID'et og de materialiserede 15.003 rækker, men kun have 7 rækker output.

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

Kør den næste måling, der filtrerer på en kolonne. Du får de korrekte resultater og fjerner CallBackDataID . Men du kan stadig se, at det blev til en masse rækker.

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

Kør CALCUATE- målet. Du kan se, at det kun blev til 10 rækker og genererede de korrekte data på 5 millisekunder.

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

Det er den hurtigste blandt alle målene ovenfor, fordi den ikke har og kun trak 10 rækker. Dette viser, hvor imponerende CALCULATE er i at få hurtige og præcise resultater.

Hvis du kører alle DAX-forespørgsler eller målinger, kan du se, hvilken der er den langsomste og hurtigste baseret på varigheden. Du kan også se resultaterne af hver foranstaltning.

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

DAX-forespørgsler ved hjælp af variabler og vigtige funktioner

Konklusion

Ved at flytte filtrene til CALCULATE sparer du tid og materialisering, fordi CallBackDataID'et vil blive elimineret. Du behøver ikke at gentage dataene to gange. Dette vil også maksimere din DAX's ydeevne og hjælpe dig med at forbedre dine udviklingsevner.


Hvad er Power Query & M Language: En detaljeret oversigt

Hvad er Power Query & M Language: En detaljeret oversigt

Denne vejledning giver et overblik over Power Query Editor og M-sproget inde på LuckyTemplates-skrivebordet.

Opret en sideinddelt rapport: Tilføjelse af tekster og billeder

Opret en sideinddelt rapport: Tilføjelse af tekster og billeder

Lær, hvordan du opretter en sideinddelt rapport, tilføjer tekster og billeder og derefter eksporterer din rapport til forskellige dokumentformater.

SharePoint Automate-funktionen | En introduktion

SharePoint Automate-funktionen | En introduktion

Lær, hvordan du bruger SharePoint-automatiseringsfunktionen til at skabe arbejdsgange og hjælpe dig med at mikrostyre SharePoint-brugere, -biblioteker og -lister.

Løs en dataanalyseudfordring med LuckyTemplates Accelerator

Løs en dataanalyseudfordring med LuckyTemplates Accelerator

Udvid dine rapportudviklingsevner ved at deltage i en dataanalyseudfordring. Acceleratoren kan hjælpe dig med at blive LuckyTemplates-superbruger!

Løbende totaler i LuckyTemplates ved hjælp af DAX

Løbende totaler i LuckyTemplates ved hjælp af DAX

Lær, hvordan du beregner løbende totaler i LuckyTemplates ved hjælp af DAX. Løbende totaler giver dig mulighed for ikke at blive fanget af et individuelt resultat.

LuckyTemplates Dax-variabler er konstante: Hvad betyder det?

LuckyTemplates Dax-variabler er konstante: Hvad betyder det?

Forstå konceptet med variabler i DAX i LuckyTemplates og betydningen af ​​variabler for, hvordan dine mål beregnes.

LuckyTemplates hældningsdiagram: en oversigt

LuckyTemplates hældningsdiagram: en oversigt

Lær mere om det brugerdefinerede visuelle kaldet LuckyTemplates Slope-diagrammet, som bruges til at vise stigning/fald for en enkelt eller flere metrics.

LuckyTemplates farvetemaer til ensartede visualiseringer

LuckyTemplates farvetemaer til ensartede visualiseringer

Opdag farvetemaerne i LuckyTemplates. Disse er afgørende for, at dine rapporter og visualiseringer kan se ud og fungere problemfrit.

Beregning af gennemsnit i LuckyTemplates: Isolering af resultater på ugedage eller weekender ved hjælp af DAX

Beregning af gennemsnit i LuckyTemplates: Isolering af resultater på ugedage eller weekender ved hjælp af DAX

Beregning af et gennemsnit i LuckyTemplates kan gøres på mange måder for at give dig præcise oplysninger til dine virksomhedsrapporter.

LuckyTemplates tema | LuckyTemplates Desktop Standard Theming

LuckyTemplates tema | LuckyTemplates Desktop Standard Theming

Lad os dykke ned i Standard LuckyTemplates-temaer og gennemgå nogle af de funktioner, der er indbygget i selve LuckyTemplates Desktop-applikationen.