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!

Leave a Comment

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.

Oprettelse af en datotabel i LuckyTemplates

Oprettelse af en datotabel i LuckyTemplates

Find ud af, hvorfor det er vigtigt at have en dedikeret datotabel i LuckyTemplates, og lær den hurtigste og mest effektive måde at gøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte vejledning fremhæver LuckyTemplates mobilrapporteringsfunktion. Jeg vil vise dig, hvordan du kan udvikle rapporter effektivt til mobilenheder.

Professionelle serviceanalyserapporter i LuckyTemplates

Professionelle serviceanalyserapporter i LuckyTemplates

I denne LuckyTemplates Showcase gennemgår vi rapporter, der viser professionel serviceanalyse fra et firma, der har flere kontrakter og kundeengagementer.

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Gå gennem de vigtigste opdateringer til Power Apps og Power Automate og deres fordele og implikationer for Microsoft Power Platform.

Almindelige SQL-funktioner: En oversigt

Almindelige SQL-funktioner: En oversigt

Opdag nogle almindelige SQL-funktioner, som vi kan bruge, såsom streng, dato og nogle avancerede funktioner til at behandle eller manipulere data.

LuckyTemplates skabelonoprettelse: Guide og tips

LuckyTemplates skabelonoprettelse: Guide og tips

I denne tutorial lærer du, hvordan du opretter din perfekte LuckyTemplates-skabelon, der er konfigureret til dine behov og præferencer.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne blog vil vi demonstrere, hvordan man lagdelte feltparametre med små multipler for at skabe utrolig nyttig indsigt og visuals.

LuckyTemplates-rangering og brugerdefineret gruppering

LuckyTemplates-rangering og brugerdefineret gruppering

I denne blog vil du lære, hvordan du bruger LuckyTemplates rangerings- og brugerdefinerede grupperingsfunktioner til at segmentere et eksempeldata og rangordne det efter kriterier.

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

I denne tutorial vil jeg dække en specifik teknik omkring, hvordan du kun viser Kumulativ Total op til en bestemt dato i dine visuals i LuckyTemplates.