Använda Offset-funktionen i utökade datumtabeller

Jag ska visa dig hur du använder offset-funktionen i LuckyTemplates . Det är ett av de mest dynamiska verktygen du kan använda speciellt i dina datumtabeller.

När du väl behärskar hur du tillämpar det i dina tidsintelligensprojekt kan du få mer djupgående insikter som du inte kommer att få med någon annan metod. Du kan se hela videon av denna handledning längst ner på den här bloggen.

Innehållsförteckning

Förstå mekaniken i offsetfunktionen

Jag börjar med att visa dig mekaniken för offsetfunktionen.

Offset visar skillnaden mellan dagens datum och de andra datumen i din data.

Som du kan se i min datumtabell nedan fokuserade jag på kvartal och år så att jag kan se faktiska datarörelser.

Använda Offset-funktionen i utökade datumtabeller

Den lila raden visar aktuell period . Observera att den aktuella perioden alltid har ett offsetvärde på 0 .

Använda Offset-funktionen i utökade datumtabeller

Ovanför det, i gult, visar alla data som kommer från det förflutna . Du kommer att se att siffrorna här är antingen 0 eller mindre än 0, representerade av negativ data .

Använda Offset-funktionen i utökade datumtabeller

Detta innebär att för data från framtiden kommer dessa att visa positiva värden . Beroende på kolumnens granularitet kan den också innehålla en 0 .

Använda Offset-funktionen i utökade datumtabeller

Så vad gör offsets kraftfulla?

Offsets kan vara sekventiella nummer som representerar skillnaden mellan olika data i tabellen . Men det som gör offset bra är att de inte har gränser .

Till exempel kommer kvartalen att löpa från 1 till 4, vilket motsvarar de 4 kvartalen på ett år. Månader sträcker sig från 1 till 12 medan veckor kan sträcka sig från 1 till 52 eller 53, beroende på vilket år det är. Men när jag väl når den sista siffran måste jag börja om.

Detta är inte fallet för offset. När det gäller offset kommer de alltid att visa en relativ position till det aktuella datumet och det andra datumet som refereras till .

Så varje gång datumtabellen uppdateras uppdateras också logiken som gör att offseten fungerar. Detta innebär att ett uppdaterat värde även kommer att visas i datumtabellen.

Exempel på en veckas offset kolumn

För att ge dig en tydligare bild av hur offsetfunktionen fungerar, ska jag ge dig ett exempel på hur den tillämpas.

I mina exempeldata visar det dagens datum som den 24 april 2020 .

Använda Offset-funktionen i utökade datumtabeller

Återigen anger offsetprinciperna att den aktuella perioden representeras av 0, framtida data representeras av positiva värden och tidigare perioder representeras av negativa siffror .

Använda Offset-funktionen i utökade datumtabeller

Jag har också en slicer på min sida som innehåller WeekOffset-värdet. För närvarande visar den alla värden från -53 till 0, där 0 representerar den aktuella veckan .

Använda Offset-funktionen i utökade datumtabeller

Den 24 april (som är idag) infaller på vecka 17 .

Använda Offset-funktionen i utökade datumtabeller

Denna utökade datumtabell täcker endast ISO-veckonummer . Det betyder att veckorna börjar på en måndag . Detta innebär också att en vecka alltid kommer att innehålla 7 dagar .

Men det finns många anpassade veckokrav som inte följer samma logik. Du kan ta reda på mer om dessa fall i olika ämnen som behandlas i LuckyTemplates-forumet.

Du kan också överväga att använda Månad & År istället för Vecka & År om det bättre passar din situation.

Om du går tillbaka till exempeldatan kanske du har märkt att WeekOffset -värdena ligger i ett perfekt sekventiellt nummerintervall .

Använda Offset-funktionen i utökade datumtabeller

Detta beror på att de delar samma granularitet överallt . Det finns inga dubbletter av värden och inga saknade värden.

Naturligtvis görs det totala försäljningsmåttet som används här på vanligt sätt, med bara en vanligöver försäljning för kvantiteten gånger priset . Sedan samlas allt för att få ett veckovärde.

Men vad händer om jag bara vill se de senaste 4 veckornas försäljning?

Jag måste bara ändra min slicer till ett intervall på -3 till 0 .

Använda Offset-funktionen i utökade datumtabeller

Nu visar min tabell bara de senaste fyra veckornas försäljning.

Använda Offset-funktionen i utökade datumtabeller

Så när jag går igenom tiden uppdateras min datumtabell. Samma sak händer om nya försäljningsresultat laddas in i faktatabellen.

Använda förskjutningar i DAX

Den här gången ska jag visa dig hur offsetfunktionen kan användas i DAX-mått.

Jag har en tabell med Vecka & År och Total försäljning .

Använda Offset-funktionen i utökade datumtabeller

Så om jag vill beräkna föregående veckas försäljning utan offset, måste jag först extrahera vad CurrWeek- numret är och sedan kontrollera vad CurrYear -värdet är.

Använda Offset-funktionen i utökade datumtabeller

Om jag behöver hoppa över ett års gräns, måste jag räkna ut vad Veckonummer är för det förra året.

Använda Offset-funktionen i utökade datumtabeller

Därifrån skulle jag använda SUMX som en itererande funktion på datumtabellen. Jag skulle också behöva kolla om CurrWeek är vecka nummer 1 .

Använda Offset-funktionen i utökade datumtabeller

Om det inte är vecka 1 behöver jag bara subtrahera 1 från CurrWeek-värdet för CurrYear . Därefter kan den totala försäljningen äntligen summeras .

Använda Offset-funktionen i utökade datumtabeller

Om du tittar på tabellen nedan kan du nu se att alla värden är perfekt aggregerade. Värdena som visas under Total försäljning överförs helt enkelt till nästa vecka.

Använda Offset-funktionen i utökade datumtabeller

Även om jag går förbi en årsgräns från 2017 till 2018 så bryter inte mönstret. Den totala försäljningen från den sista veckan av 2017 är fortfarande perfekt beräknad för vecka nummer 1 av 2018.

Använda Offset-funktionen i utökade datumtabeller

Den här gången ska jag göra samma beräkning, men med datumtabellförskjutningar tillämpade.

Så här ser det måttet ut när jag använder offset.

Använda Offset-funktionen i utökade datumtabeller

Så för att få PrevWeek- värdet behöver jag bara referera till den valda WeekOffset och subtrahera 1.

Använda Offset-funktionen i utökade datumtabeller

Då ska jag användafunktion för total försäljning över Datum där WeekOffset är lika med PrevWeek- värdet.

Använda Offset-funktionen i utökade datumtabeller

Om man tittar på resultaten verkar resultaten vara perfekta, även vid övergången från 2017 till 2018.

Använda Offset-funktionen i utökade datumtabeller

Problemet ligger dock i Totalt . Uppenbarligen är detta inte det korrekta värdet.

Använda Offset-funktionen i utökade datumtabeller

Så här ska jag fixa det.

Observera först att kolumnen Vecka & år är i stigande ordning .

Använda Offset-funktionen i utökade datumtabeller

Jag ska ändra på det och sortera kolumnen i fallande ordning istället, med 2020 överst.

Använda Offset-funktionen i utökade datumtabeller

Eftersom det inte finns något sammanhang som kommer från veckan och året identifierar den inte den aktuella veckans offsetvärde men subtraherar fortfarande 1 . Men vad jag kan göra är att använda en ackumulerad summa för att justera summan .

Så här kommer åtgärden att se ut:

Använda Offset-funktionen i utökade datumtabeller

Början av måttet ändras inte. Det är exakt samma som föregående mått jag tillämpade.

Men eftersom jag behöver använda ett mönster som liknar kumulativa totaler, måste jag använda funktionen CALCULATE på FirstWeek över Datum med 1 subtraherad från den.

Använda Offset-funktionen i utökade datumtabeller

Jag måste också identifiera MAX WeekOffset -värdet från ALLSELECTED- datumen och subtrahera ett från det också.

Använda Offset-funktionen i utökade datumtabeller

Sedan använder jag funktionen BERÄKNA igen för total försäljning . Jag ska användafunktion för att inkludera ALLA datum . WeekOffset-värdet ska vara större än eller lika med FirstWeek och mindre än eller lika med LastWeek .

Använda Offset-funktionen i utökade datumtabeller

Återigen följer detta det grundläggande mönstret för kumulativa summor.

Sedan kan jag fortsätta med att kontrollera totalsumman genom att använda mönstren.

Använda Offset-funktionen i utökade datumtabeller

OM Veckan & Året ÄR INCOPE , förväntar jag mig att resultaten visar LWSales . Men om det inte är det, förväntar jag mig att LWTotal dyker upp.

Använda Offset-funktionen i utökade datumtabeller

Så om jag går tillbaka till min tabell kommer den nu att visa den korrekta totalen.

Använda Offset-funktionen i utökade datumtabeller

Offset för specifika veckor

Låt mig gå tillbaka till exemplet jag använde tidigare där jag filtrerade data för att bara visa de senaste fyra veckorna.

Använda Offset-funktionen i utökade datumtabeller

Om jag går in på måttet kan jag komma fram till samma resultat med hjälp av offsets. Så här skulle det se ut.

Använda Offset-funktionen i utökade datumtabeller

Jag var bara tvungen att identifiera det aktuella WeekOffset- värdet för sammanhanget som kommer från raderna.

Använda Offset-funktionen i utökade datumtabeller

När jag väl har det kan jag använda funktionen BERÄKNA på den totala försäljningen av ALLA datum där WeekOffset är större än eller lika med ThisWeek minus 3, eller mindre än eller lika med värdet för ThisWeek .

Använda Offset-funktionen i utökade datumtabeller

Detta returnerar exakt samma värde som exemplet jag försöker replikera.

Använda Offset-funktionen i utökade datumtabeller




Slutsats

Exemplen jag visade dig ovan bevisar hur dynamiska offset verkligen är. Du kan använda dem i filter, skivor och till och med i DAX-beräkningar.

Offset kan också användas i utökade datumtabeller för veckor, månader, kvartal, år och räkenskapsår. De ger mycket flexibilitet och kan enkelt hjälpa dig att få de resultat du vill ha.

Fortsätt bara att leka med offset och se vilka andra användningsområden du kan ha för dem. Du kan också kontrolleraför andra fall där offsetfunktionen visat sig vara användbar.

Med vänliga hälsningar,

Melissa


Pipe In R: Anslutningsfunktioner med Dplyr

Pipe In R: Anslutningsfunktioner med Dplyr

I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.

Extrahera LuckyTemplates-teman och bilder från PBIX

Extrahera LuckyTemplates-teman och bilder från PBIX

Lär dig hur du tar isär en PBIX-fil för att extrahera LuckyTemplates-teman och bilder från bakgrunden och använda den för att skapa din rapport!

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

Python i LuckyTemplates: Hur man installerar och ställer in

Python i LuckyTemplates: Hur man installerar och ställer in

Lär dig hur du installerar programmeringsspråket Python i LuckyTemplates och hur du använder dess verktyg för att skriva koder och visa bilder.

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Lär dig hur du beräknar dynamiska vinstmarginaler vid sidan av LuckyTemplates och hur du kan få fler insikter genom att gräva djupare i resultaten.

Sortering av datumtabellkolumner i LuckyTemplates

Sortering av datumtabellkolumner i LuckyTemplates

Lär dig hur du sorterar fälten från en utökad datumtabells kolumner korrekt. Detta är en bra strategi att göra för svåra fält.

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

I den här artikeln går jag igenom hur du kan hitta dina toppprodukter per region med hjälp av DAX-beräkningar i LuckyTemplates, inklusive TOPN- och CALCULATE-funktionerna.

Skräpdimension: Vad är det och varför det är allt annat än skräp

Skräpdimension: Vad är det och varför det är allt annat än skräp

Lär dig hur du använder en skräpdimension för flaggor med låg kardinalitet som du vill infoga i din datamodell på ett effektivt sätt.