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.
Denne opplæringen fokuserer på bruk av Power Query M number.mod-funksjonen for å lage et vekslende 0-1-mønster i Dato-tabellen. Løsningen som jeg skal vise deg, kom fra en av våre strømbrukere i fellesskapet, Rajesh, på LuckyTemplates. Du kan se hele videoen av denne opplæringen nederst på denne bloggen.
Målet er å generere en sekvens med fire nuller vekslet med fire enere, og deretter gjenta den i løpet av dagen.
Rajesh var perfekt med sin analyse og problemfordeling ved å bruke Power Query M-funksjonen for å løse det. Med det sagt, la oss gå over til Power Query.
Innholdsfortegnelse
Power Query M Number.Mod-funksjonen
DeM, spesifikt number.mod-funksjonen kommer til å være kjernen i løsningen vår. Hva gjør den?
Du kan sjekke den interne dokumentasjonen for enhver M-funksjon ved å skrive inn navnet uten parentes som vist her i formellinjen. Denne funksjonen returnerer resten av en heltallsdivisjon. Det tar opptil tre parametere, de to første, et tall og divisoren, som også er et tall.
La oss nå komme i gang. Jeg velger et eksempelsøk som inneholder en datoperiode som jeg har forberedt.
I mange tilfeller brukes number.mod i kombinasjon med en indekskolonne som deretter brukes som den første parameteren. Men jeg kommer ikke til å gjøre det fordi hvis du tenker på det, er datoverdien et heltall. Så å lage en indeks som deler samme granularitet som Dato-kolonnen, der hver rad har en unik verdi, er noe vi kan unngå.
Alt vi trenger å gjøre for å etterligne en indeks er å trekke den aller første datoen i datotabellen fra hver dato i Dato-kolonnen. For å gjøre det kan vi lagre startdatoverdien i en variabel slik at vi kan bruke den om og om igjen. Jeg synes Advanced Editor er det beste stedet å gjøre dette.
Så jeg åpnervindu og lag en ny variabel. La oss kalle det Startdato . Jeg har hardkodet min første date her, så jeg skal bare kopiere og lime den inn. Ikke glem kommaet på slutten, og vi kan nå erstatte den første datoen med vår startdato-variabel.
Som du kan se, endret ingenting.
Opprette egendefinert kolonne for Power Query M-mønsteret
Så via denne minitabellen skal vi legge til en egendefinert kolonne.
La oss kalle denne kolonnen, Pattern , og angi Power Query M-funksjonen, number.mod . Du ser de to parameterne her, et tall som et nullbart tall og en divisor som et nullbart tall. Så det krever to talltypeverdier som parametere.
Nå har vi ikke tall, ikke sant? Vi har datoer og det er ikke noe slikt som automatisk typekonvertering i dem. Så vi må få tallet fra datoverdien vår. Så vi skriver inn her, number.from deretter Dato- kolonnen og trekker deretter fra StartDate- variabelen.
Nå, la oss si den første daten i vårreturnerer en en, så vil vår Startdato også returnere en en. Så en minus en er lik null. Jeg vil at indeksnummereringen vår skal begynne med en i stedet for null. Så vi må legge til én tilbake pluss én. Nå er én minus én lik null pluss én gir én én for den første posten.
For den andre posten får vi en to (2) verdi for datoen i Dato-kolonnen, minus en en (1) fra StartDate-verdien vår som tilsvarer én, pluss den vi legger til tilbake returnerer en to, og så videre . Vårt repeterende mønster var basert på en serie med fire vekslende verdier. Så som divisor skal jeg gi verdien fire (4).
La oss se hva det gjør. I rad fire får vi null, så vel som i rad åtte. Så hver fjerde forekomst returnerer en nullverdi for den posten.
Opprette en IF-THEN-ANDERE-konstruksjon
La oss gå tilbake til kundedialogboksen vår og utvide logikken vi har skrevet så langt. Bortsett fra divisor, må vi gjenta den samme logikken for å kunne identifisere en åttende forekomst.
På den åttende raden ønsker vi imidlertid en annen verdi. Så for å skille mellom en fjerde og en åttende forekomst, kan vi bruke en IF-THEN-ELSE-konstruksjon. På den måten kan vi returnere en verdi for den første logiske testen som returnerer en sann.
Så hvis , og jeg limer tilbake koden vår her (bortsett fra divisor), endre den divisor til en åtte slik at en åttende rad vil returnere null. Så hvis det er lik null, betyr det at det ikke vil være sant eller usant. Da vil vi ha en (1). Ellers , hvis logikken vår her identifiserer at en fjerde rad er lik null, vil vi ha null (0). Ellers ønsker vi ikke å få en verdi tilbake. Så la oss legge til en null .
La oss nå sjekke logikken vår igjen. Så ved hver fjerde forekomst får vi den nullen. Og så, den åttende, får vi en. Deretter får vi null og en ener, og så videre.
Så dette ser bra ut. Alt vi trenger å gjøre nå er å fylle opp disse verdiene.
Så inne i formellinjen legger vi til en Table.FillUp i begynnelsen og deretter noen åpningsparenteser. På slutten av koden vår legger vi til typenummer – vi må også legge til en kolonne som en liste. Så vi går med komma , bruker deretter de krøllede parentesene for listeinitialisering og som en tekstverdi passerer kolonnenavnet vårt, Pattern . Ikke glem de avsluttende parentesene og trykk OK.
Konklusjon
Dette er et veldig unikt scenario, og ærlig talt kan jeg ikke komme på en applikasjon for dette spesifikke mønsteret, men forhåpentligvis kan du se potensialet ved å lage sekvenser ved å bruke Power Query M-funksjonen, number.mod.
For mer informasjon, se hele videoen nedenfor for denne opplæringen.
Beste ønsker!
Melissa
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.