Forklaring af rækkekontekst i LuckyTemplates

Jeg har fundet ud af, at de fleste mennesker bliver forvirrede med hensyn til at forstå, hvordan DAX fungerer i rækkesammenhæng . Dette skyldes, at rækkekontekst kan være ret kompliceret og unødvendigt. Så vi kommer til at berøre rækkekonteksten gennem denne artikel. Du kan se den fulde video af denne tutorial nederst på denne blog.

Den måde, jeg tænker på rækkekontekst på, er gennem iterationer eller itererende funktioner . Så snart jeg lavede den skelnen i mit sind, gav det mere mening i forhold til, hvad der faktisk foregik i beregningsmotoren.

Som en opsummering har vi diskuteret, at der er tre typer kontekster: evalueringskonteksten , filterkonteksten og rækkekonteksten .

Enhver DAX-beregning fungerer i en to-trins proces. Evalueringskonteksten går altid først og derefter forgrener den sig i enten filterkontekst eller rækkekontekst afhængig af hvilken funktion du skriver .

Indholdsfortegnelse

Forstå rækkekontekst

Rækkekontekst handler om iteration.

Jeg vil vise dig et par eksempler, og forhåbentlig vil dette hjælpe dig med at forstå, hvad rækkekontekst faktisk gør i bagenden.

Rækkekontekst versus filterkontekst

I vores eksempel bliver formlen beregnet viafordi det er en simpel sammenlægning. Den opsummerer hele kolonnen Antal, efter at alle de indledende filtre er blevet sat på plads.

Forklaring af rækkekontekst i LuckyTemplates

Det indledende filter på salgstabellen er produkt 1. Ved at opsummere hver mængde, der er blevet solgt, får vi 165.

Forklaring af rækkekontekst i LuckyTemplates

Nu vil jeg vise dig, hvordan du får nøjagtig det samme resultat, men beregnet på en meget anderledes måde. Først vil jeg oprette et nyt mål for mængde solgt iteration ved hjælp af en itererende formel.

Forklaring af rækkekontekst i LuckyTemplates

Eksempler på itererende funktioner inkluderer SUMX ,, MANYX og COUNTX . I dette tilfælde skal vi bruge SUMX .

SUMX - funktionen har bedt mig om at indsætte en tabel, så jeg har tænkt mig at indsætte Salgstabellen. Og så bad den mig om et udtryk, så jeg satte bare i kolonnen Mængde.

Denne funktion er ret anderledes end den første funktion, men jeg får nøjagtig det samme resultat, når jeg trækker den ind.

Forklaring af rækkekontekst i LuckyTemplates

Vi får nøjagtig de samme resultater her, fordi det i sidste ende er den samme beregning. Det blev bare beregnet på en anden måde.

Forklaring af rækkekontekst i LuckyTemplates

Den solgte mængde blev beregnet ved hjælp af rækkekontekst , mens den samlede solgte mængde blev beregnet ved hjælp af filterkontekst .

Beregning af solgt mængde iteration ved hjælp af rækkekontekst

Lad os nu gennemgå trin for trin, hvordan mængden solgt iteration beregnes. Først skal du huske at forlade den indledende værdiansættelseskontekst, som er produkt 1 i dette tilfælde. Og så via rækkekontekst itererer vi gennem hver enkelt række i tabellen, som vi angiver.

I dette tilfælde angiver vi salgstabellen, og så går vi og ser på hver enkelt række i kolonnen Antal.

Forklaring af rækkekontekst i LuckyTemplates

Under den indledende evaluering vil produkt 1 blive bestemt af, hvad der er filtreret i produkt-id-kolonnen. Og så tæller den rækkerne op under kolonnen Antal. Hver gang den rammer en række går den ind og gemmer resultatet i hukommelsen.

Efter at den har nået bunden af ​​tabellen, går den så hen og laver en evaluering af alle de resultater, der er gemt i hukommelsen, og så vil den lave den udregning, du beder om den, som i dette tilfælde er SUMX .

Forklaring af rækkekontekst i LuckyTemplates

Hvorfor bruge en rækkekontekst eller en itererende funktion?

Dette skyldes, at du inde i en itererende funktion kan gøre langt mere komplekse ting. Du kan skrive noget meget avanceret logik indeni.

Forklaring af rækkekontekst i LuckyTemplates

For hver række i salgstabellen ganges mængden for eksempel med 2. Du vil nu se, at den samme beregningsproces finder sted, men vi får forskellige resultater.

Forklaring af rækkekontekst i LuckyTemplates

Dette skyldes, at vi for hver enkelt række skriver en anden logik. Efter at have gennemgået hver enkelt række i mængdekolonnen, gange vi værdien med to, og så bliver den gemt i hukommelsen. Til sidst laver vi en SUM .

Vi kan også skrive forskellige ting her, herunder avanceret logik som f.eksellerlogik.

Forklaring af rækkekontekst i LuckyTemplates

Der er dynger og dynger af eksempler på, hvor det ville være bedre at bruge en itererende funktion eller rækkekontekst til at lave en beregning frem for en aggregeringsfunktion eller filterkontekst .

Nøglenoter til at forstå sammenhænge i LuckyTemplates

For at opsummere alle de vigtigste ting om kontekst, husk, at beregning i DAX fungerer via en to-trins proces. Det første skridt er altid evalueringskonteksten . Det betyder så meget, hvad evalueringskonteksten er .

Når du forstår, hvad evalueringskonteksten er for ethvert individuelt resultat, forgrener DAX sig derefter på to forskellige måder. Det kan enten beregne via filterkontekst eller via rækkekontekst.

At vælge hvilken kontekst der skal bruges afhænger af hvilken formel du skriver. Så hvis du skriver en simpel aggregeringsformel , vil den så gå hen og beregne den via filterkontekst . Men hvis du skriver en itererende funktion som SUMX, så vil den beregne formlen via rækkekontekst .

Når du først er blevet lidt mere avanceret i DAX, kan du faktisk have flere sammenhænge i den samme funktion. Men før du når dertil, skal du virkelig forstå, hvad kontekst er i sin enkleste form.

Konklusion

At forstå typerne af kontekst er helt afgørende, da du lærer DAX og ønsker at udføre mere avanceret arbejde. Når du begynder at skrive en virkelig avanceret DAX-formel, har du flere sammenhænge, ​​der arbejder på samme tid, og du skal forstå, hvad hver enkelt del af den formel gør for at opnå de ønskede resultater.

Her er nogle anbefalede links, så du kan lære mere om anvendelsen af ​​rækkekontekst inde i LuckyTemplates:

Evalueringskontekst – (1.8) Ultimativ begyndervejledning til DAX

Filterkontekst – (1.9) Ultimativ begynderguide til DAX

Nyd at arbejde igennem denne.


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.