LuckyTemplates semesterkalender – Beräkna datum W/DAX

Att skapa en LuckyTemplates semesterkalender är avgörande för många tidsintelligensberäkningar. I den här handledningen kommer jag att visa dig hur du beräknar specifika semesterdatum med hjälp av DAX-mått. Du kan se hela videon av denna handledning längst ner på den här bloggen.

Detta exempel kom från en avinitiativ som kallas Veckans problem, där vi varje månad tar ett verkligt DAX- eller Power Query-problem och bryter ner det i detalj.

LuckyTemplates semesterkalender – Beräkna datum W/DAX

Jag använde en teknik som heter Rubber Duck Debugging. Det används vanligtvis för felsökning, men jag tycker att det också är väldigt värdefullt för att komma fram till det ursprungliga ramverket som du ska använda för att lösa ett komplext problem som i LuckyTemplates.

LuckyTemplates semesterkalender – Beräkna datum W/DAX

Det är i princip bara att använda en gummianka eller en person som du pratar med och säga lösningen som du föreställer dig högt och utveckla en plan för hur du ska angripa problemet.

Bara handlingen att uttrycka sig som ofta hjälper dig att komma igenom problemet. I vissa fall i en felsökningssituation får det dig att inse vad du gör, om det är vettigt, och hjälper dig att hitta ett sätt att åtgärda det genom att åtgärda problemet.

Nedan är det verkliga DAX-problemet för just denna utmaning. Vi har ett bord här med 10 helgdagar med månad och dag. Vissa av dagarna är specifika dagar och några av dem är relativa. Vi måste komma på semesterdatumet och de firade på åtgärderna.

LuckyTemplates semesterkalender – Beräkna datum W/DAX

För att göra det måste vi analysera fältet Dag i två komponenter. Den första analysen är förekomsten (tredje, sista, första, andra) och den andra analysen är dagen (måndag, torsdag). Det här är två viktiga delar av information som vi behöver separera.

Innehållsförteckning

Beräknar specifika datum i LuckyTemplates semesterkalender

Normalt skulle jag göra detta i Power Query bara genom en uppdelning med avgränsare, men eftersom vi gör det med DAX, måste vi göra det på ett annat sätt. (Observera att vi inte får använda Power Query i den här utmaningen.)

Vi måste beräkna lägsta och högsta datum för det angivna året, månaden och dagsnamnet. I det här fallet kan vi till exempel säga för 2027, januari och den tredje måndagen. När vi väl har fått den lägsta dagen för en viss månad kan vi lägga till sju dagar för att komma till den andra måndagen, 14 dagar för att komma till den tredje måndagen och 21 dagar för att komma till den fjärde måndagen.

En annan teknik som jag vill dela med mig av i samband med denna utmaning är vad jag kallar Building in Parts när jag skapar ett mått. Jag tycker att detta är väldigt användbart i ett komplext mått där om du har många variabler har du många komponenter att bygga.

Det jag alltid gör är att jag har en resultatvariabel ( VAR-resultat ) i slutet och mitt sista uttalande som bara är Return Result . Detta gör det väldigt enkelt att gå tillbaka och testa de variabler jag har byggt. Jag kan gå igenom och spåra och lösa det i delar.

LuckyTemplates semesterkalender – Beräkna datum W/DAX

Den sista tekniken som jag vill dela med dig är vad jag kallar Searching for Unknown Functions. Till exempel, om jag inte vet vilken funktion jag ska använda för denna LuckyTemplates semesterkalenderutmaning, går jag till fliken Externa verktyg och går till SQLBI DAX Guide .

LuckyTemplates semesterkalender – Beräkna datum W/DAX

Den har en riktigt trevlig funktion här som heter Groups (på vänster sida), där funktionerna är grupperade efter typ. Och så, om jag funderar på att tolka en textsträng, till exempel, kan jag söka efter textfunktioner .

LuckyTemplates semesterkalender – Beräkna datum W/DAX

Den tillhandahåller alla textfunktioner som DAX har. Detta är ett bra sätt att snabbt hittadu behöver för en åtgärd.

LuckyTemplates semesterkalender – Beräkna datum W/DAX

DAX-mått för LuckyTemplates semesterkalender

För måttet Holiday Date skapade jag den här serien av s , skördade datumen från skivaren, semestermånaden, månadsnumret och dagen från tabellen Datum.  

Sedan har jag längden från den valda dagen med längden () funktion. I det här fallet returnerade det text, så jag var tvungen att slå in denför att ändra den texten till ett numeriskt värde.

Och sedan använde jagfunktion för utrymmets position och omsluter det VALUE, men säger, sök efter utrymme inom den valda dagen, börja på position ett och returnera noll om jag inte hittar den strängen där.

CharsBeforeSpace (tecken före rymden) är bara SpacePosition . Antalet CharsAfterSpace (tecken efter mellanslag) är bara längden ( SelDayLen ) på strängen minus mellanrummets position. Från det kan vi göra FirstParse och SecondParse .

LuckyTemplates semesterkalender – Beräkna datum W/DAX

Vid denna tidpunkt har vi nu två variabler, en som representerar förekomsten och en som representerar dagen.

Och sedan har vi en grundläggande ( Calc1st ) där vi tar bort filtret från tabellen Datum. Sedan tillämpar vi filtren för det valda året från skivaren, månadsnamnet och sedan veckodagen från den andra analysen som vi gjorde.

LuckyTemplates semesterkalender – Beräkna datum W/DAX

På samma sätt gör vi samma sak för den senaste beräkningen ( VAR CalcLast ).

LuckyTemplates semesterkalender – Beräkna datum W/DAX

När vi har allt det går det till ett uttalande och den sista delen är RETURN-resultatet.

LuckyTemplates semesterkalender – Beräkna datum W/DAX

Till sist vill jag leda dig genom Celebrated On- måttet som en tilläggsbonus från utmaningen. Detta är bara en enkeldär jag tog semesterdatumet som vi räknade ut i föregående mått, gick till tabellen Datum och slog upp veckodagens namn. Och sedan gjorde jag bara ett SWITCH- uttalande där vi tog resultatet av DayLookup. Och till sist avslutar jag det med en RETURN DateAdjust .

LuckyTemplates semesterkalender – Beräkna datum W/DAX




Slutsats

Denna LuckyTemplates Holiday Calendar-utmaning är, som jag nämnde, ett verkligt problem. Lösningen som jag kom fram till är ganska komplex, men verkligen effektiv för att beräkna de specifika semesterdatumen.

Jag hoppas att du har lärt dig mycket av den här handledningen. Kolla in hela videohandledningen för en mer detaljerad genomgångsförklaring av DAX-åtgärderna.

Skål!

Leave a Comment

Skapa en datumtabell i LuckyTemplates

Skapa en datumtabell i LuckyTemplates

Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.

LuckyTemplates mobilrapporteringstips och tekniker

LuckyTemplates mobilrapporteringstips och tekniker

Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.

Professional Service Analytics-rapporter i LuckyTemplates

Professional Service Analytics-rapporter i LuckyTemplates

I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.

Vanliga SQL-funktioner: En översikt

Vanliga SQL-funktioner: En översikt

Upptäck några vanliga SQL-funktioner som vi kan använda som sträng, datum och några avancerade funktioner för att bearbeta eller manipulera data.

LuckyTemplates Skapa mall: Guide och tips

LuckyTemplates Skapa mall: Guide och tips

I den här handledningen kommer du att lära dig hur du skapar din perfekta LuckyTemplates-mall som är konfigurerad efter dina behov och preferenser.

Fältparametrar och små multiplar i LuckyTemplates

Fältparametrar och små multiplar i LuckyTemplates

I den här bloggen kommer vi att visa hur man lager fältparametrar med små multiplar för att skapa otroligt användbara insikter och bilder.

LuckyTemplates Rank och anpassad gruppering

LuckyTemplates Rank och anpassad gruppering

I den här bloggen kommer du att lära dig hur du använder LuckyTemplates ranknings- och anpassade grupperingsfunktioner för att segmentera en exempeldata och rangordna den enligt kriterier.

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

I den här handledningen kommer jag att täcka en specifik teknik kring hur man visar Kumulativ total endast upp till ett specifikt datum i dina bilder i LuckyTemplates.

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Lär dig hur du skapar och anpassar punktdiagram i LuckyTemplates, som huvudsakligen används för att mäta prestanda mot mål eller tidigare år.