Få LuckyTemplates föregående veckas värden med DAX & Power Query

Att hämta tidigare periodvärden i LuckyTemplates är en vanlig uppgift, men att hämta föregående veckas värden kräver en del speciell uppmärksamhet. I den här handledningen kommer jag att diskutera två enkla och mångsidiga metoder för att erhålla LuckyTemplates föregående veckas värden som kan vara användbara tillägg till din verktygslåda – en med DAX och den andra med Power Query. Du kan se hela videon av denna handledning längst ner på den här bloggen.

Denna handledning kom från en fråga som jag fick från en LuckyTemplates-medlem. Medlemmen frågade vad som var det enklaste sättet att fastställa föregående veckas nummer. Det här är en vanlig fråga jag stöter på. Det verkar ganska enkelt, men ju mer du gräver i det, desto mer inser du att det finns ganska mycket att bearbeta.

Innehållsförteckning

Föregående veckas värden i LuckyTemplates: Problemet

Om vi ​​tittar på veckonummer så har vi 52 veckor; multiplicera det med sju dagar (en vecka) och det kommer till 364. Så varje år finns det en extra dag, och sedan för skottår finns det två extra dagar. Dessa en eller två extra dagar orsakar mycket problem.

Låt oss skapa ett mått från vår datumtabell. Vi kallar det MAX vecka # (nummer). I den här analysen använder vi LuckyTemplates utökade datumtabell; detta har ISO Weeknumber , vilket är ganska användbart. Låt oss nu ta MAX för ISO-veckonumret.

Få LuckyTemplates föregående veckas värden med DAX & Power Query

Nu, låt oss ta en tabell och släppa år såväl som vår MAX vecka # . Denna datamängd har 10 års data, och vi ser att de första två åren har 52 veckor. Sedan har vi två år med 53 veckor, tre år med 52 veckor och sedan två år till med 53 och ett med 52.

Få LuckyTemplates föregående veckas värden med DAX & Power Query

Det finns inte riktigt något märkbart mönster här. Det är inte lätt att gå tillbaka och förutse att det ena året kommer du att ha 52 veckor och det andra året kommer du att ha 53.

Nästa sak du kan tänka på om du är bekant med DAX-tidsintelligensfunktioner är att använda DATEADD -funktionen, som flyttar ett datumintervall tillbaka med en given period. Det gör det riktigt bra för dag, månad, kvartal och år, men det inkluderar inte veckan, så vi måste hitta ett annat sätt att göra detta.

I LuckyTemplates Extended Dates-tabell som vi använder har Melissa (en av LuckyTemplates-experterna) inkluderat en funktion som heter OFFSETS . Låt oss dyka in i den här funktionen eftersom den är absolut nyckeln för att lösa detta ur ett DAX-perspektiv.

Om vi ​​tittar på den aktuella perioden (till exempel den 20 januari, som är den period då denna handledning skapas), vad vi ser är att offset är lika med noll . Sättet som offset fungerar är att för den aktuella perioden blir offset noll.

Veckan före innevarande vecka är negativ, två veckor före innevarande vecka är negativ två, och så vidare. Och sedan går det framåt från de positiva siffrorna; nästa vecka får då en etta, två veckor får en tvåa osv.

Få LuckyTemplates föregående veckas värden med DAX & Power Query

Varje gång du öppnar rapporten i förhållande till dagens datum, beräknar den offseten. Det här är otroligt kraftfullt och nu ska jag visa dig hur lätt det är att ta itu med några svåra problem som detta LuckyTemplates föregående veckas nummer när du använder offsets.

Skaffa LuckyTemplates förra veckan med DAX

Låt oss skapa ett nytt mått och kalla det Previous Wk # . Vi kommer att börja med en variabel ( SelWkOffset ), där vi bara ska göra ett SELECTEDVALUE av WeekOffset . Så, i den aktuella raden, kommer den att rita den där WeekOffset och lägga den i vår variabel.

Nästa variabel blir Result . Detta är det ultimata resultatet som vi vill ha och vi kommer att använda BERÄKNA eftersom vi kommer att ändra sammanhang.

Sedan vill vi ha MAX ISO Weeknumber och det kommer att vara föremål för dessa filtervillkor. Så vi tar bort alla filter i tabellen Datum, och därför använder vi ALLA här. Om vi ​​hade en datumskärare skulle vi kanske vilja använda ALLSELECTED , men för närvarande gör vi det inte, så vi kommer bara att använda ALL för att ta bort filtret från den datumtabellen.

Och då kommer vi att säga att WeekOffset kommer att vara lika med vår SelWkOffset minus ett . Det är här OFFSETS blir så kraftfulla. Du kan inte använda veckonummer minus ett eftersom det återställs varje år. Men eftersom ALLA OFFSETS är sekventiella kan du behandla det som du skulle behandla att hitta föregående år och bara subtrahera en för varje föregående år. Och så detta, denna offset fungerar precis på samma sätt som ett konsekut tal skulle göra.

Vi kan nu ta och stänga av det filtertillståndet, stänga av BERÄKNA och bara RETURNERA vårt resultat .

Få LuckyTemplates föregående veckas värden med DAX & Power Query

Låt oss nu titta på hur denna åtgärd fungerar. I tabellen nedan kan vi se att den gör precis som vi hade hoppats. I vecka 52 för period ett påföljande år är föregående vecka 52. Sedan går den tillbaka en varje period, och så vidare.

Få LuckyTemplates föregående veckas värden med DAX & Power Query

Nu, vad gör du i de fall du inte har en offset?

Låt oss säga att du arbetar med en företagsdatumtabell som kommer från ditt datalager och den innehåller inte dessa förskjutningar. Det finns en teknik som jag vill visa dig i Power Query. Första gången jag såg det var i ett blogginlägg av Imke Feldmann.

Detta tillvägagångssätt fungerar riktigt bra för alla situationer där du kan beställa bordet i stigande ordning, och det behöver inte ha en offset. Det behöver inte ens ha ett datumfält. Det kan vara en helt annan typ av bord. Så länge det går att sortera i stigande ordning kan du använda den här tekniken.

Så låt oss referera till denna Dates Raw-tabell och vi kallar den för Dates . Sedan ser vi till att sortera detta i stigande ordning .

Få LuckyTemplates föregående veckas värden med DAX & Power Query

Därefter vill vi gruppera efter vecka . Anledningen till det är att vi kommer att lägga till två indexkolumner. När vi lägger till dessa indexkolumner vill vi att de ska vara i granularitet för veckan , inte på dagsgranularitet.

Få LuckyTemplates föregående veckas värden med DAX & Power Query

Därefter vill vi lägga till dessa indexkolumner. Det viktiga här är att det första indexet som vi lägger till kommer att vara ett 0-baserat index. Och sedan kommer vi att lägga till ett andra index som är ett 1-baserat index.

Få LuckyTemplates föregående veckas värden med DAX & Power Query

Sedan ska vi ta den här kolumnen och slå samman en tabell i sig själv. Vi kommer att slå samman det baserat på de två olika indexkolumnerna. Det kommer att ge oss en förändring i rader.

Så, om vi tar detta och slår samman det första till det 0-baserade indexet till det 1-baserade indexet, matchar det 521 vid 522 rader. Det är precis vad vi förväntar oss eftersom det andra bordet inte kommer att ta upp nollindexet eftersom det börjar på ett.

Få LuckyTemplates föregående veckas värden med DAX & Power Query

Efter det kommer vi bara att utöka det här ordentligt, bara med ISO Weeknumber.

Få LuckyTemplates föregående veckas värden med DAX & Power Query

Det ger oss vårt föregående veckas nummer. Och nu ska vi bara utöka vår ursprungliga gruppering och ta bort fältet WeekEnding och det ursprungliga ISO-veckonumret så att vi inte duplicerar.

Få LuckyTemplates föregående veckas värden med DAX & Power Query

Om vi ​​lägger det i en tabell kan du se att det är exakt samma resultat som att använda DAX-tekniken. Det fungerar precis som vårt DAX-mått gjorde, men i det här fallet behövde vi inte använda offseten.

Få LuckyTemplates föregående veckas värden med DAX & Power Query

Slutsats

Det här är två olika sätt på ett mycket mångsidigt sätt att hitta föregående veckas nummer. I den första tekniken kan du se kraften i offset i att göra, vad som annars skulle vara en svår beräkning, ganska enkelt. Den andra tekniken fungerar precis som vårt DAX-mått gjorde, men i det här fallet behövde vi inte använda offseten.

Förhoppningsvis kan du hitta denna handledning till hjälp. Du kan titta på hela videohandledningen nedan och kolla in de relaterade länkarna för mer liknande innehåll.

Skål!


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.