LuckyTemplates Feriekalender – Beregn dato W/DAX

Oprettelse af en LuckyTemplates-feriekalender er afgørende for mange tidsintelligensberegninger. I denne vejledning vil jeg vise dig, hvordan du beregner specifikke feriedatoer ved hjælp af DAX-mål. Du kan se den fulde video af denne tutorial nederst på denne blog.

Dette eksempel kom fra en af ​​deinitiativer kaldet Problem of the Week, hvor vi hver måned tager et DAX- eller Power Query-problem i den virkelige verden og nedbryder det i detaljer.

LuckyTemplates Feriekalender – Beregn dato W/DAX

Jeg brugte en teknik kaldet Rubber Duck Debugging. Det bruges typisk til debugging, men jeg finder det også meget værdifuldt til at komme op med den indledende ramme, som du vil bruge til at løse et komplekst problem som i LuckyTemplates.

LuckyTemplates Feriekalender – Beregn dato W/DAX

Det er i bund og grund bare at bruge en gummiand eller en person, som du taler med og siger den løsning, du forestiller dig højt, og udvikler en plan for, hvordan du vil angribe problemet.

Alene det at give udtryk, der ofte hjælper dig med at løse problemet. I nogle tilfælde i en fejlretningssituation får det dig til at indse, hvad du laver, om det giver mening, og hjælper med at finde en måde at løse det på ved at løse problemet.

Nedenfor er det virkelige DAX-problem for denne særlige udfordring. Vi har et bord her med 10 helligdage med måned og dag. Nogle af dagene er specifikke dage, og nogle af dem er relative. Vi er nødt til at finde på feriedatoen og de fejrede foranstaltninger.

LuckyTemplates Feriekalender – Beregn dato W/DAX

For at gøre det skal vi parse feltet Dag i to komponenter. Den første parse er forekomsten (tredje, sidste, første, anden) og den anden parse er dagen (mandag, torsdag). Det er to vigtige oplysninger, som vi skal adskille.

Indholdsfortegnelse

Beregning af specifikke datoer i LuckyTemplates feriekalender

Normalt ville jeg gøre dette i Power Query blot gennem en opdeling efter afgrænsere, men da vi gør det med DAX, bliver vi nødt til at gøre det på en anden måde. (Bemærk, at vi ikke har tilladelse til at bruge Power Query i denne udfordring.)

Vi skal beregne minimums- og maksimumsdatoer for det angivne år, måned og dag. I dette tilfælde kan vi for eksempel sige for 2027, januar og den tredje mandag. Når vi har fået den minimumsdag for en given måned, kan vi tilføje syv dage til den for at komme til den anden mandag, 14 dage for at komme til den tredje mandag og 21 dage for at komme til den fjerde mandag.

En anden teknik, som jeg vil dele med dig i forbindelse med denne udfordring, er det, jeg kalder Building in Parts, når jeg laver en målestok. Jeg finder dette virkelig nyttigt i en kompleks målestok, hvor hvis du har mange variabler, har du mange komponenter at bygge.

Det, jeg altid gør, er, at jeg har en resultatvariabel ( VAR-resultat ) til sidst og mit sidste udsagn, der bare er Returner resultat . Dette gør det virkelig nemt at gå tilbage og teste de variabler, jeg har bygget. Jeg kan gå igennem og spore og løse det i dele.

LuckyTemplates Feriekalender – Beregn dato W/DAX

Den sidste teknik, som jeg vil dele med dig, er det, jeg kalder Søgning efter ukendte funktioner. For eksempel, hvis jeg ikke ved, hvilken funktion jeg skal bruge til denne LuckyTemplates feriekalenderudfordring, går jeg til fanen Eksterne værktøjer og går til SQLBI DAX-vejledningen .

LuckyTemplates Feriekalender – Beregn dato W/DAX

Den har en rigtig fin funktion her kaldet Groups (i venstre side), hvor funktionerne er grupperet efter type. Og så, hvis jeg tænker på at parse en tekststreng, for eksempel, kan jeg søge efter tekstfunktioner .

LuckyTemplates Feriekalender – Beregn dato W/DAX

Det giver alle de tekstfunktioner, som DAX har. Dette er en fantastisk måde at hurtigt findedu har brug for en foranstaltning.

LuckyTemplates Feriekalender – Beregn dato W/DAX

DAX-mål til LuckyTemplates-feriekalenderen

Til målet for feriedato oprettede jeg denne serie af s , der høstede datoerne fra udskæreren, feriemåneden, månedsnummeret og dagen fra datotabellen.  

Så har jeg længden fra den valgte dag ved hjælp af længden () funktion. I dette tilfælde returnerede den tekst, så jeg var nødt til at pakke den indfor at ændre denne tekst til en numerisk værdi.

Og så brugte jegfunktion for pladsens position og indpakning af det VALUE, men siger, søg efter plads inden for den valgte dag, start ved position et og returner nul, hvis jeg ikke finder den streng derinde.

CharsBeforeSpace (tegn før mellemrum) er kun SpacePosition. Antallet af CharsAfterSpace (tegn efter mellemrum) er kun længden ( SelDayLen ) af strengen minus pladsen. Ud fra det kan vi lave FirstParse og SecondParse .

LuckyTemplates Feriekalender – Beregn dato W/DAX

På dette tidspunkt har vi nu to variable, en repræsenterer forekomsten og en repræsenterer dagen.

Og så har vi en grundlæggende ( Calc1st ), hvor vi tager filteret fra Dates-tabellen. Derefter anvender vi filtrene for det valgte år fra sliceren, månedsnavnet og derefter ugedagen fra den anden analyse, som vi lavede.

LuckyTemplates Feriekalender – Beregn dato W/DAX

På samme måde gør vi det samme ved den sidste beregning ( VAR CalcLast ).

LuckyTemplates Feriekalender – Beregn dato W/DAX

Når vi har alt det, går det til en erklæring, og den sidste del er RETURN-resultatet.

LuckyTemplates Feriekalender – Beregn dato W/DAX

Til sidst vil jeg guide dig gennem Celebrated On- målet som en ekstra bonus fra udfordringen. Dette er blot en simpelhvor jeg tog feriedatoen, som vi beregnede i forrige mål, gik til tabellen Datoer og slog ugedagens navn op. Og så lavede jeg lige en SWITCH- erklæring, hvor vi tog det resultat af DayLookup. Og til sidst afslutter jeg det med en RETURN DateAdjust .

LuckyTemplates Feriekalender – Beregn dato W/DAX




Konklusion

Denne LuckyTemplates Holiday Calendar-udfordring er, som jeg nævnte, et problem i den virkelige verden. Løsningen, som jeg fandt på, er ret kompleks, men virkelig effektiv til at beregne de specifikke feriedatoer.

Jeg håber, du har lært meget af denne tutorial. Tjek den fulde videotutorial for en mere detaljeret gennemgangsforklaring af DAX-foranstaltningerne.

Skål!


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.