Hva er Power Query & M Language: En detaljert oversikt
Denne opplæringen gir en oversikt over Power Query Editor og M-språket på LuckyTemplates-skrivebordet.
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.
Denne opplæringen gir en oversikt over Power Query Editor og M-språket på LuckyTemplates-skrivebordet.
Lær hvordan du lager en paginert rapport, legger til tekster og bilder og deretter eksporterer rapporten til ulike dokumentformater.
Lær hvordan du bruker SharePoint-automatiseringsfunksjonen til å lage arbeidsflyter og hjelpe deg med å mikroadministrere SharePoint-brukere, -biblioteker og -lister.
Utvid rapportutviklingsferdighetene dine ved å bli med i en dataanalyseutfordring. Akseleratoren kan hjelpe deg å bli en LuckyTemplates-superbruker!
Lær hvordan du beregner løpende totaler i LuckyTemplates ved hjelp av DAX. Løpende totaler lar deg ikke bli fanget opp i et individuelt resultat.
Forstå konseptet med variabler i DAX i LuckyTemplates og implikasjonene av variabler for hvordan målene dine beregnes.
Lær mer om det tilpassede visuelle bildet kalt LuckyTemplates Slope-diagram, som brukes til å vise økning/reduksjon for en enkelt eller flere beregninger.
Oppdag fargetemaene i LuckyTemplates. Disse er avgjørende for at rapportene og visualiseringene dine skal se ut og fungere sømløst.
Å beregne et gjennomsnitt i LuckyTemplates kan gjøres på mange måter for å gi deg nøyaktig informasjon for bedriftsrapportene dine.
La oss fordype oss i Standard LuckyTemplates-tema, og gjennomgå noen av funksjonene som er innebygd i selve LuckyTemplates Desktop-applikasjonen.