DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler
Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.
Jeg har funnet ut at de fleste blir forvirret når det gjelder å forstå hvordan DAX fungerer i radsammenheng . Dette er fordi radkontekst kan være ganske komplisert og unødvendig. Så vi kommer til å berøre radkontekst gjennom denne artikkelen. Du kan se hele videoen av denne opplæringen nederst på denne bloggen.
Måten jeg tenker på radkontekst er gjennom iterasjoner eller iterasjonsfunksjoner . Så snart jeg gjorde den forskjellen i tankene mine, ga det mer mening med tanke på hva som faktisk foregikk i beregningsmotoren.
Som en oppsummering har vi diskutert at det er tre typer kontekster: evalueringskonteksten , filterkonteksten og radkonteksten .
Enhver DAX-beregning fungerer i en to-trinns prosess. Evalueringskonteksten går alltid først og deretter forgrener den seg til enten filterkontekst eller radkontekst avhengig av hvilken funksjon du skriver.
Innholdsfortegnelse
Forstå radkontekst
Radkontekst handler om iterasjon.
Jeg skal vise deg et par eksempler og forhåpentligvis vil dette hjelpe deg med å forstå hva radkontekst faktisk gjør i bakenden.
Radkontekst vs filterkontekst
I vårt eksempel beregnes formelen viafordi det er en enkel aggregering. Den oppsummerer hele kolonnen Antall etter at alle de første filtrene er satt på plass.
Det første filteret på salgstabellen er produkt 1. Ved å summere opp hver mengde som er solgt, får vi 165.
Nå skal jeg vise deg hvordan du får nøyaktig samme resultat, men beregnet på en helt annen måte. Først skal jeg lage et nytt mål for mengde solgte iterasjon ved å bruke en itererende formel.
Eksempler på iterasjonsfunksjoner inkluderer SUMX ,, MANYX og COUNTX . I dette tilfellet skal vi bruke SUMX .
SUMX - funksjonen har bedt meg om å legge inn en tabell, så jeg skal legge inn Salgstabellen. Og så ba den meg om et uttrykk, så jeg la bare inn Antall-kolonnen.
Denne funksjonen er ganske annerledes enn den første funksjonen, men jeg får nøyaktig samme resultat når jeg drar den inn.
Vi får nøyaktig de samme resultatene her fordi det til syvende og sist er det samme regnestykket. Det ble bare beregnet på en annen måte.
Antall solgte iterasjoner ble beregnet ved hjelp av radkontekst , mens Totalt solgt kvantitet ble beregnet ved hjelp av filterkontekst .
Beregne mengde solgt iterasjon ved hjelp av radkontekst
La oss nå gå gjennom trinn for trinn hvordan antall solgte iterasjon beregnes. Først må du huske å forlate den innledende verdsettelseskonteksten, som er produkt 1 i dette tilfellet. Og så via radkontekst , itererer vi gjennom hver enkelt rad i tabellen som vi spesifiserer.
I dette tilfellet spesifiserer vi salgstabellen, og så går vi og ser på hver enkelt rad i kolonnen Antall.
Under den første evalueringen vil produkt 1 bli bestemt av det som er filtrert i produkt-ID-kolonnen. Og så teller den opp radene under Antall-kolonnen. Hver gang den treffer en rad går den inn og lagrer resultatet i minnet.
Etter at den når bunnen av tabellen, går den og gjør en evaluering av alle resultatene som er lagret i minnet, og så vil den gjøre den beregningen du ber om av den, som i dette tilfellet er SUMX .
Hvorfor bruke en radkontekst eller en itererende funksjon?
Dette er fordi inne i en itererende funksjon kan du gjøre langt mer komplekse ting. Du kan skrive en veldig avansert logikk inni.
For eksempel, for hver rad i salgstabellen, multipliseres antallet med 2. Du vil se nå at den samme beregningsprosessen skjer, men vi får forskjellige resultater.
Dette er fordi vi skriver en annen logikk for hver enkelt rad. Etter å ha gått gjennom hver eneste rad i mengdekolonnen, multipliserer vi verdien med to, og deretter blir den lagret i minnet. På slutten av det gjør vi en SUM .
Vi kan også skrive forskjellige ting her, inkludert avansert logikk som f.eksellerlogikk.
Det er hauger og hauger med eksempler på hvor det ville være bedre å bruke en iterasjonsfunksjon eller radkontekst for å gjøre en beregning i stedet for en aggregeringsfunksjon eller filterkontekst .
Nøkkelnotater for å forstå sammenhenger i LuckyTemplates
For å oppsummere alle de viktigste tingene om kontekst, husk at beregning i DAX fungerer via en to-trinns prosess. Det første trinnet er alltid evalueringskonteksten . Det betyr så mye hva evalueringskonteksten er.
Når du forstår hva evalueringskonteksten er for et enkelt resultat, deler DAX seg ut på to forskjellige måter. Den kan enten beregne via filterkontekst eller via radkontekst.
Å velge hvilken kontekst du skal bruke avhenger av hvilken formel du skriver. Så hvis du skriver en enkel aggregeringsformel , vil den gå og beregne den via filterkontekst . Men hvis du skriver en itererende funksjon som SUMX, vil den beregne formelen via radkontekst .
Når du først har blitt litt mer avansert i DAX, kan du faktisk ha flere kontekster i samme funksjon. Men før du kommer dit, må du virkelig forstå hva kontekst er i sin enkleste form.
Konklusjon
Å forstå typen kontekst er helt avgjørende når du lærer DAX og ønsker å gjøre mer avansert arbeid. Når du begynner å skrive en virkelig avansert DAX-formel, har du flere sammenhenger som jobber samtidig, og du må forstå hva hver enkelt del av den formelen gjør for å oppnå de ønskede resultatene.
Her er noen anbefalte lenker for å lære mer om bruken av radkontekst inne i LuckyTemplates:
Evalueringskontekst – (1.8) Ultimate Beginners Guide to DAX
Filterkontekst – (1.9) Ultimate Beginners Guide to DAX
Nyt å jobbe gjennom denne.
Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.
Finn ut hvorfor det er viktig å ha en dedikert datotabell i LuckyTemplates, og lær den raskeste og mest effektive måten å gjøre det på.
Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.
I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.
Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.
Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.
I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.
I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.
I denne bloggen vil du lære hvordan du bruker LuckyTemplates rangering og tilpassede grupperingsfunksjoner for å segmentere et eksempeldata og rangere det i henhold til kriterier.
I denne opplæringen skal jeg dekke en spesifikk teknikk rundt hvordan du viser kumulativ total kun opp til en bestemt dato i grafikken i LuckyTemplates.