Få LuckyTemplates forrige uges værdier ved hjælp af DAX & Power Query

Hentning af tidligere periodeværdier i LuckyTemplates er en almindelig opgave, men at hente tidligere ugeværdier kræver særlig opmærksomhed. I denne vejledning vil jeg diskutere to enkle og alsidige metoder til at opnå LuckyTemplates' tidligere ugeværdier, som kan være nyttige tilføjelser til din værktøjskasse – den ene bruger DAX og den anden ved hjælp af Power Query. Du kan se den fulde video af denne tutorial nederst på denne blog.

Denne tutorial kom fra et spørgsmål, som jeg fik fra et LuckyTemplates-medlem. Medlemmet spurgte, hvad der var den nemmeste måde at bestemme den foregående uges tal. Dette er et almindeligt spørgsmål, jeg støder på. Det virker ret simpelt, men jo mere du graver i det, jo mere indser du, at der er ret meget at bearbejde.

Indholdsfortegnelse

Forrige uges værdier i LuckyTemplates: Problemet

Hvis vi ser på ugenummeret, har vi 52 uger; gange det med syv dage (en uge), og det kommer til 364. Så i hvert år er der en ekstra dag, og så i skudår er der to ekstra dage. Disse en eller to ekstra dage ender med at forårsage en masse problemer.

Lad os oprette et mål fra vores Datoer-tabel. Vi kalder det MAX Week # (antal). I denne analyse bruger vi LuckyTemplates Extended Dates Table; dette har ISO Weeknumber , hvilket er ret nyttigt. Lad os nu tage MAX for ISO-ugenummeret.

Få LuckyTemplates forrige uges værdier ved hjælp af DAX & Power Query

Lad os nu tage et bord og slippe år såvel som vores MAX Week # . Dette datasæt har 10 års data, og vi ser, at de første to år har 52 uger. Så har vi to år med 53 uger, tre år med 52 uger, og så to år mere med 53 og et med 52.

Få LuckyTemplates forrige uges værdier ved hjælp af DAX & Power Query

Der er ikke rigtig et mærkbart mønster her. Det er ikke let at gå tilbage og forudsige, at det ene år vil du have 52 uger, og det andet år vil du have 53.

Den næste ting, du måske tænker på, hvis du er bekendt med DAX-tidsintelligensfunktioner, er at bruge DATEADD- funktionen , som flytter en række datoer tilbage med en given periode. Det gør det rigtig godt for dag, måned, kvartal og år, men det inkluderer ikke uge, så vi er nødt til at finde en anden måde at gøre dette på.

I LuckyTemplates Extended Dates Tabel, som vi bruger, har Melissa (en af ​​LuckyTemplates-eksperterne) inkluderet en funktion kaldet OFFSETS . Lad os dykke ned i denne funktion, fordi den er absolut nøglen til at løse dette fra et DAX-perspektiv.

Ser vi på den aktuelle periode (for eksempel den 20. januar, som er perioden for oprettelse af denne tutorial), hvad vi ser er, at offset er lig med nul . Den måde, offset fungerer på, er, at for den aktuelle periode bliver forskydningen nul.

Ugen forud for den aktuelle uge er negativ, to uger før den aktuelle uge er negativ to, og så videre. Og så går det fremad fra de positive tal; næste uge får så en en, to uger får en to osv.

Få LuckyTemplates forrige uges værdier ved hjælp af DAX & Power Query

Hver gang du åbner rapporten i forhold til dagens dato, beregner den forskydningerne. Dette er utroligt kraftfuldt, og nu vil jeg vise dig, hvor nemt det er at tackle nogle vanskelige problemer som dette LuckyTemplates forrige ugenummer, når du bruger offsets.

Indhentning af LuckyTemplates forrige uge ved hjælp af DAX

Lad os oprette et nyt mål og kalde det Previous Wk # . Vi starter med en variabel ( SelWkOffset ), hvor vi bare skal lave en SELECTEDVALUE af WeekOffset . Så i den nuværende række vil den tegne den WeekOffset og sætte den i vores variabel.

Den næste variabel vil være Resultat . Dette er det ultimative resultat, som vi ønsker, og vi kommer til at bruge CALCUATE , fordi vi kommer til at skifte kontekst.

Så vil vi have MAX ISO-ugenummeret , og det vil være underlagt disse filterbetingelser. Så vi fjerner alle filtrene i Datoer-tabellen, og derfor bruger vi ALLE her. Hvis vi havde en datoudskiller, ville vi måske bruge ALLSELECTED , men det gør vi nu ikke, så vi vil bare bruge ALL for at fjerne filteret fra denne Dates-tabel.

Og så vil vi sige, at WeekOffset vil være lig med vores SelWkOffset minus en . Det er her, OFFSETS bliver så kraftfulde. Du kan ikke bruge ugenummer minus et, fordi det nulstilles hvert år. Men fordi ALLE OFFSETS er sekventielle, kan du behandle det, som du ville behandle at finde det foregående år og blot trække en fra for hvert foregående år. Og så dette, denne offset fungerer på samme måde som et fortløbende nummer ville.

Vi kan nu tage og lukke denne filtertilstand, lukke BEREGNING og bare RETURNERE vores resultat .

Få LuckyTemplates forrige uges værdier ved hjælp af DAX & Power Query

Lad os nu se på, hvordan denne foranstaltning virker. I tabellen nedenfor kan vi se, at den gør præcis, hvad vi havde håbet. I uge 52 for periode et i det følgende år er den foregående uge 52. Og så går den et tilbage hver periode, og så videre.

Få LuckyTemplates forrige uges værdier ved hjælp af DAX & Power Query

Hvad gør du nu i tilfælde, hvor du ikke har en offset?

Lad os sige, at du arbejder med en virksomhedsdatotabel, der kommer fra dit datavarehus, og den inkluderer ikke disse forskydninger. Der er en teknik, som jeg vil vise dig i Power Query. Første gang jeg så det var i et blogindlæg af Imke Feldmann.

Denne tilgang fungerer rigtig godt til enhver situation, hvor du kan bestille bordet i stigende rækkefølge, og det behøver ikke at have en offset. Det behøver ikke engang at have et datofelt. Det kunne være en helt anden type bord. Så længe det kan sorteres i stigende rækkefølge, kan du bruge denne teknik.

Så lad os henvise til denne Dates Raw-tabel, og vi kalder denne Dates . Derefter sørger vi for at sortere dette i stigende rækkefølge .

Få LuckyTemplates forrige uges værdier ved hjælp af DAX & Power Query

Dernæst vil vi gruppere efter uge . Grunden til det er, at vi vil tilføje to indekskolonner. Når vi tilføjer disse indekskolonner, ønsker vi, at de skal have ugegranularitet , ikke med dagsgranularitet.

Få LuckyTemplates forrige uges værdier ved hjælp af DAX & Power Query

Dernæst vil vi tilføje disse indekskolonner. Det vigtige her er, at det første indeks, vi tilføjer, vil være et 0-baseret indeks. Og så vil vi tilføje et andet indeks, der er et 1-baseret indeks.

Få LuckyTemplates forrige uges værdier ved hjælp af DAX & Power Query

Derefter vil vi tage denne kolonne og flette en tabel ind i sig selv. Vi vil flette det baseret på de to forskellige indekskolonner. Det vil give os et skift i rækker.

Så hvis vi tager dette og flette det første til det 0-baserede indeks til det 1-baserede indeks, matcher det 521 ved 522 rækker. Det er præcis, hvad vi ville forvente, fordi det andet bord ikke kommer til at hente nul-indekset, da det starter ved et.

Få LuckyTemplates forrige uges værdier ved hjælp af DAX & Power Query

Derefter vil vi bare udvide dette ordentligt ved blot at bruge ISO Weeknumber.

Få LuckyTemplates forrige uges værdier ved hjælp af DAX & Power Query

Det giver os vores forrige ugenummer. Og nu vil vi blot udvide vores oprindelige gruppering og fjerne WeekEnding-feltet og det originale ISO-ugenummer, så vi ikke dublerer.

Få LuckyTemplates forrige uges værdier ved hjælp af DAX & Power Query

Hvis vi sætter det i en tabel, kan du se, at det er nøjagtigt de samme resultater som at bruge DAX-teknikken. Det fungerer præcis som vores DAX-mål gjorde, men i dette tilfælde behøvede vi ikke at bruge forskydningerne.

Få LuckyTemplates forrige uges værdier ved hjælp af DAX & Power Query

Konklusion

Dette er to forskellige måder på en meget alsidig måde at finde det foregående ugenummer på. I den første teknik kan du se kraften i offsets i at lave, hvad der ellers ville være en vanskelig beregning, ganske enkelt. Den anden teknik fungerer præcis som vores DAX-mål gjorde, men i dette tilfælde behøvede vi ikke at bruge forskydningerne.

Forhåbentlig finder du denne tutorial nyttig. Du kan se den fulde videotutorial nedenfor og se de relaterede links for mere lignende indhold.

Skål!


Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.

Datamodellering i LuckyTemplates ved hjælp af understøttende tabeller

Datamodellering i LuckyTemplates ved hjælp af understøttende tabeller

Lær nogle fantastiske analytiske teknikker, som vi kan gøre til datamodellering i LuckyTemplates ved hjælp af DAX-understøttende tabeller.

Avanceret DAX til LuckyTemplates: Implementering af rangeringslogik på tværs af unikke indsigter

Avanceret DAX til LuckyTemplates: Implementering af rangeringslogik på tværs af unikke indsigter

Her dykker vi ned i LuckyTemplates Advanced DAX og implementerer rangeringslogik for at få en meget unik indsigt. Jeg viser også måleforgrening i dette eksempel.

LuckyTemplates What-If-parameterfunktion

LuckyTemplates What-If-parameterfunktion

Denne blog introducerer den nye funktion i LuckyTemplates, What-If-analyseparameteren. Du vil se, hvordan det gør alt hurtigt og nemt til din scenarieanalyse.

Brug LuckyTemplates Mål forgrening for at kontrollere, om dine avancer udvides, efterhånden som omsætningen vokser

Brug LuckyTemplates Mål forgrening for at kontrollere, om dine avancer udvides, efterhånden som omsætningen vokser

Lær, hvordan du afgør, om din omsætningsvækst er god ved at kontrollere, om dine avancer er udvidet ved hjælp af LuckyTemplates, der måler forgrening.

LuckyTemplates-parametre via forespørgselseditor

LuckyTemplates-parametre via forespørgselseditor

Lær og forstå, hvordan du kan oprette og bruge LuckyTemplates Parameters, som er en kraftfuld funktion i Query Editor.

Rundt søjlediagram – en visualisering til dit dashboard

Rundt søjlediagram – en visualisering til dit dashboard

Denne vejledning vil diskutere om oprettelse af et rundt søjlediagram ved hjælp af Charticulator. Du lærer, hvordan du designer dem til din LuckyTemplates-rapport.

PowerApps funktioner og formler | En introduktion

PowerApps funktioner og formler | En introduktion

Lær, hvordan du bruger PowerApps-funktioner og -formler til at forbedre funktionaliteten og ændre adfærd i vores Power Apps-lærredsapp.

Pipe In R: Tilslutningsfunktioner med Dplyr

Pipe In R: Tilslutningsfunktioner med Dplyr

I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX fra LuckyTemplates giver dig mulighed for at returnere rangeringen af ​​et specifikt tal i hver tabelrække, der udgør en del af en liste over tal.