LuckyTemplates Feriekalender – Beregn dato M/DAX

Å lage en LuckyTemplates-feriekalender er avgjørende for mange tidsintelligensberegninger. I denne opplæringen skal jeg vise deg hvordan du beregner spesifikke feriedatoer ved hjelp av DAX-mål. Du kan se hele videoen av denne opplæringen nederst på denne bloggen.

Dette eksemplet kom fra en avinitiativ kalt Ukens problem, der vi hver måned tar et DAX- eller Power Query-problem i den virkelige verden og bryter det ned i detalj.

LuckyTemplates Feriekalender – Beregn dato M/DAX

Jeg brukte en teknikk kalt Rubber Duck Debugging. Det brukes vanligvis til feilsøking, men jeg finner det også veldig verdifullt for å komme opp med det innledende rammeverket som du skal bruke for å løse et komplekst problem som i LuckyTemplates.

LuckyTemplates Feriekalender – Beregn dato M/DAX

Det er i grunnen bare å bruke en gummiand eller en person du snakker med og si løsningen du ser for deg høyt og utvikle en plan for hvordan du skal angripe problemet.

Bare det å uttale seg som ofte hjelper deg å jobbe gjennom problemet. I noen tilfeller i en feilsøkingssituasjon får det deg til å innse hva du gjør, om det er fornuftig, og hjelper deg med å finne en måte å fikse det på ved å løse problemet.

Nedenfor er det virkelige DAX-problemet for denne spesielle utfordringen. Vi har et bord her med 10 helligdager med måned og dag. Noen av dagene er spesifikke dager og noen av dem er relative. Vi må komme opp med feriedatoen og Feiret på-tiltakene.

LuckyTemplates Feriekalender – Beregn dato M/DAX

For å gjøre det, må vi analysere Dag-feltet i to komponenter. Den første analysen er forekomsten (tredje, siste, første, andre) og den andre analysen er dagen (mandag, torsdag). Dette er to viktige opplysninger som vi må skille fra hverandre.

Innholdsfortegnelse

Beregner spesifikke datoer i LuckyTemplates feriekalender

Vanligvis ville jeg gjort dette i Power Query bare gjennom en delt av skilletegn, men siden vi gjør det med DAX, må vi gjøre det på en annen måte. (Merk at vi ikke har lov til å bruke Power Query i denne utfordringen.)

Vi må beregne minimums- og maksimumsdatoene for det angitte året, måneden og dagsnavnet. I dette tilfellet kan vi for eksempel si for 2027, januar og tredje mandag. Når vi har fått den minste dagen for en gitt måned, kan vi legge til syv dager for å komme til den andre mandagen, 14 dager for å komme til den tredje mandagen og 21 dager for å komme til den fjerde mandagen.

En annen teknikk som jeg vil dele med dere knyttet til denne utfordringen er det jeg kaller Building in Parts når jeg lager et mål. Jeg finner dette veldig nyttig i et komplekst mål der hvis du har mange variabler, har du mange komponenter å bygge.

Det jeg alltid gjør er at jeg har en resultatvariabel ( VAR-resultat ) på slutten og det siste utsagnet mitt som bare er Return Result . Dette gjør det veldig enkelt å gå tilbake og teste variablene jeg har bygget. Jeg kan gå gjennom og spore og løse det i deler.

LuckyTemplates Feriekalender – Beregn dato M/DAX

Den siste teknikken jeg vil dele med deg er det jeg kaller Søking etter ukjente funksjoner. Hvis jeg for eksempel ikke vet hvilken funksjon jeg skal bruke for denne LuckyTemplates feriekalenderutfordringen, går jeg til fanen Eksterne verktøy og går til SQLBI DAX-veiledningen .

LuckyTemplates Feriekalender – Beregn dato M/DAX

Den har en veldig fin funksjon her kalt Groups (på venstre side), hvor funksjonene er gruppert etter type. Og så, hvis jeg tenker på å analysere en tekststreng, for eksempel, kan jeg søke etter tekstfunksjoner .

LuckyTemplates Feriekalender – Beregn dato M/DAX

Den gir alle tekstfunksjonene som DAX har. Dette er en fin måte å raskt finnedu trenger for et mål.

LuckyTemplates Feriekalender – Beregn dato M/DAX

DAX-mål for LuckyTemplates-feriekalenderen

For målet for feriedato opprettet jeg denne serien med s , og hentet datoene fra skjæremaskinen, feriemåneden, månedsnummeret og dagen fra datotabellen.  

Deretter har jeg lengden fra den valgte dagen ved å bruke lengden () funksjon. I dette tilfellet returnerte den tekst, så jeg måtte pakke den innfor å endre teksten til en numerisk verdi.

Og så brukte jegfunksjon for posisjonen til mellomrommet og pakke det VALUE, men sier, søk etter plass innenfor den valgte dagen, start på posisjon én og returner null hvis jeg ikke finner den strengen der inne.

CharsBeforeSpace (tegn før space ) er bare SpacePosition. Antallet CharsAfterSpace (tegn etter mellomrom) er bare lengden ( SelDayLen ) på strengen minus posisjonen til mellomrommet. Fra det kan vi gjøre FirstParse og SecondParse .

LuckyTemplates Feriekalender – Beregn dato M/DAX

På dette tidspunktet har vi nå to variabler, en som representerer forekomsten og en som representerer dagen.

Og så har vi en grunnleggende ( Calc1st ) hvor vi tar filteret fra Datoer-tabellen. Deretter bruker vi filtrene for det valgte året fra sliceren, månedsnavnet og deretter ukedagen fra den andre analysen vi gjorde.

LuckyTemplates Feriekalender – Beregn dato M/DAX

Tilsvarende gjør vi det samme for den siste beregningen ( VAR CalcLast ).

LuckyTemplates Feriekalender – Beregn dato M/DAX

Når vi har alt det, går det til en uttalelse, og den siste delen er RETURN-resultatet.

LuckyTemplates Feriekalender – Beregn dato M/DAX

Til slutt vil jeg lede deg gjennom Celebrated On- målet som en tilleggsbonus fra utfordringen. Dette er bare en enkelhvor jeg tok feriedatoen som vi beregnet i forrige mål, gikk til Datoer-tabellen og slo opp ukedagens navn. Og så gjorde jeg bare en SWITCH- erklæring der vi tok resultatet av DayLookup. Og til slutt avslutter jeg det med en RETURN DateAdjust .

LuckyTemplates Feriekalender – Beregn dato M/DAX




Konklusjon

Denne LuckyTemplates Holiday Calendar-utfordringen er, som jeg nevnte, et reell problem. Løsningen jeg kom opp med er ganske kompleks, men veldig effektiv når det gjelder å beregne de spesifikke feriedatoene.

Jeg håper du har lært mye av denne opplæringen. Sjekk ut hele videoopplæringen for en mer detaljert forklaring av DAX-tiltakene.

Jubel!


Hva er Power Query & M Language: En detaljert oversikt

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.

Lag en paginert rapport: Legge til tekster og bilder

Lag en paginert rapport: Legge til tekster og bilder

Lær hvordan du lager en paginert rapport, legger til tekster og bilder og deretter eksporterer rapporten til ulike dokumentformater.

SharePoint Automate-funksjonen | En introduksjon

SharePoint Automate-funksjonen | En introduksjon

Lær hvordan du bruker SharePoint-automatiseringsfunksjonen til å lage arbeidsflyter og hjelpe deg med å mikroadministrere SharePoint-brukere, -biblioteker og -lister.

Løs en dataanalyseutfordring med LuckyTemplates Accelerator

Løs en dataanalyseutfordring med LuckyTemplates Accelerator

Utvid rapportutviklingsferdighetene dine ved å bli med i en dataanalyseutfordring. Akseleratoren kan hjelpe deg å bli en LuckyTemplates-superbruker!

Løpende totaler i LuckyTemplates ved hjelp av DAX

Løpende totaler i LuckyTemplates ved hjelp av DAX

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.

LuckyTemplates Dax-variabler er konstante: Hva betyr dette?

LuckyTemplates Dax-variabler er konstante: Hva betyr dette?

Forstå konseptet med variabler i DAX i LuckyTemplates og implikasjonene av variabler for hvordan målene dine beregnes.

LuckyTemplates Slope Chart: En oversikt

LuckyTemplates Slope Chart: En oversikt

Lær mer om det tilpassede visuelle bildet kalt LuckyTemplates Slope-diagram, som brukes til å vise økning/reduksjon for en enkelt eller flere beregninger.

LuckyTemplates fargetemaer for enhetlige visualiseringer

LuckyTemplates fargetemaer for enhetlige visualiseringer

Oppdag fargetemaene i LuckyTemplates. Disse er avgjørende for at rapportene og visualiseringene dine skal se ut og fungere sømløst.

Beregne gjennomsnitt i LuckyTemplates: Isolere ukedag- eller helgeresultater ved hjelp av DAX

Beregne gjennomsnitt i LuckyTemplates: Isolere ukedag- eller helgeresultater ved hjelp av DAX

Å beregne et gjennomsnitt i LuckyTemplates kan gjøres på mange måter for å gi deg nøyaktig informasjon for bedriftsrapportene dine.

LuckyTemplates Theming | LuckyTemplates Desktop Standard Theming

LuckyTemplates Theming | LuckyTemplates Desktop Standard Theming

La oss fordype oss i Standard LuckyTemplates-tema, og gjennomgå noen av funksjonene som er innebygd i selve LuckyTemplates Desktop-applikasjonen.