Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

I den här bloggen kommer vi att diskutera hur man konverterar en YYWWD-kod till ett datumvärde . Denna handledning baserades på ett svar på en fråga från en medlem. Du kan se hela videon av denna handledning längst ner på den här bloggen.

Medlemmen bad om ett sätt att konvertera sitt fält för bekräftat leveransdatum , som är i formatet år, vecka och veckodag, och omvandla det till ett datumfält.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

I sitt exempel förklarar medlemmen att koden 20145 ska konverteras till 2020-04-03. Så av detta kan vi dra slutsatsen att de två första siffrorna motsvarar året, de två nästa siffrorna motsvarar veckonummer, medan den sista siffran motsvarar veckodagen.

Nu när vi redan har en idé om hur vi ska hantera frågan, låt oss börja.

Innehållsförteckning

Att bryta isär koden för ett korrekt datumvärde

För att göra vårt arbete enklare, låt oss ladda upp vår data i.

Det första jag märkte när jag laddade in data i Power Query är att det omedelbart gjorde ett ändringssteg, som visas nedan.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

Eftersom vi inte behöver detta kan vi ta bort det här steget genom att klicka på X-knappen bredvid.

Låt oss nu börja dela upp koden i separata kolumner för år, vecka och veckodag.

Årskolumn

Som jag nämnde tidigare motsvarar de två första siffrorna i koden året för datumvärdet.

För att lägga till en separat kolumn för året måste vi se till att kolumnen Bekräftat leveransdatum är vald. För att göra detta, gå till fliken Lägg till kolumn , klicka på Extrahera och välj sedan Första tecken .

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

Eftersom vi bara behöver de två första siffrorna för årskolumnen anger du "2" på fliken Räkna och klickar på OK.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

Låt oss nu ändra vår nya kolumn genom att redigera formelfältet. Så för att ändra dess kolumnnamn, ändra de första tecknen i formelfältet till år. För att förvandla det till sitt rätta årsvärde, låt oss lägga till 2000 till var och en av våra värden.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

Observera att efter att vi har ändrat vår formel kommer vi att få ett felmeddelande på grund av en typfel.

Felmeddelandet säger att vi inte kan tillämpa operatorn + på värdena för nummer och texttyp.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

För att fixa detta måste vi redigera vår formel så att textvärdet konverteras till ett tal. Vi kommer att använda funktionen Number.from för att göra detta och omge de efterföljande delarna inom parentes. Ändra sedan returtypen från text till nummer.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

Veckans kolumn

Låt oss nu extrahera veckonumret från koden.

Återigen, se till att kolumnen Bekräftat leveransdatum är vald, gå till fliken Lägg till kolumn, klicka på Extrahera och välj sedan Intervall.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

För att få den tredje och fjärde siffran i vår kod måste vi börja räkna från 0 eftersom Power Query är nollbaserat. Det betyder att för att få den tredje siffran i vår kod bör vårt sortiment börja från 2.

Och eftersom vi bara behöver 2 siffror från koden för veckonummer, anger vi 2 i fältet Antal tecken.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

Återigen gäller samma logik här. För att omvandla kolumnetiketten till dess rätta namn, ändra textintervall till vecka i formelfältet.

Lägg också till funktionen Number.from i vår formel, omge de efterföljande delarna inom parentes och ändra returtypen till ett tal.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

Dag kolumn

För dagkolumnen behöver vi bara den sista siffran i koden. För att extrahera det, välj kolumnen Bekräftat leveransdatum , gå till fliken Lägg till kolumn, välj Extrahera och klicka sedan på Senaste tecken .

Ange 1 eftersom det bara finns en siffra kvar från koden som vi behöver extrahera.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

Som vad vi gjorde tidigare, i formelfältet, ändrade sista tecken till dag så att vår nya kolumn får sitt rätta namn.

Återigen, lägg till funktionen Number.from , omslut följande delar av formeln inom en parentes och ändra returtypen till nummer.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

3-vägssökning för att få ett datumvärde

Nu när vi har alla komponenter för att hämta ett enda datum från vår kalendertabell är det enda som återstår att göra en 3-vägsuppslagning .

För att göra det, gå till fliken Hem och välj Merge Queries.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

Eftersom vi kommer att slås samman med vår datumtabell, klicka på rullgardinsmenyn och välj Datum.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

Identifiera paren

Nu ska vi identifiera de par som hör ihop.

Från den övre tabellen väljer du årskolumnen och kopplar sedan ihop den med årskolumnen i tabellen nedan.

För att välja ett annat par, tryck ned Ctrl-knappen på ditt tangentbord, välj veckolumnen från den övre tabellen och koppla ihop den med veckonummerkolumnen i tabellen nedan.

Till sist, medan du fortfarande håller ned Ctrl-knappen, välj dagkolumnen från den övre tabellen och koppla ihop den med DayInWeek-kolumnen i tabellen nedan.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

För att säkerställa att kolumnerna paras ihop korrekt, kontrollera om indexnumret matchar varandra.

Som visas nedan bör årskolumnerna ha ett index 1, kolumnen veckor ska ha ett index 2 och kolumnen dagar ska ha ett index 3.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

Få rätt datumvärde

Eftersom vi bara behöver datumkolumnen, avmarkera alla andra kolumner och lämna datumkolumnen markerad som visas nedan.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

Som du kan se är det första värdet i vår nya datumkolumn 4-4-2020. Kom dock ihåg att i forumet bör koden 20145 konverteras till 3-4-2020.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

Detta beror på att om vi undersöker vår datumtabell kan vi se att i kolumnen DayInWeek börjar räkningen från 0 till 6 och inte från 1 till 7.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

Subtrahera Från Dagkolumnen

För att fixa detta, låt oss subtrahera 1 från alla värden i vår kolumn Dag.

I avsnittet Tillämpade steg klickar du på steget där vi har lagt till dagkolumnen. Detta var steget Infogade sista tecken .

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

I formelfältet subtraherar du 1 direkt efter parentesen.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

Efter att ha gjort det kan vi se att vi redan har de korrekta värdena i vår datumkolumn.

Slutligen, det sista vi behöver göra är att städa upp och ta bort de kolumner som vi inte längre behöver.

För att göra det, välj Välj kolumner, avmarkera allt annat och lämna kolumnen Bekräftat leveransdatum och datumkolumnen markerade.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates

Och vi är klara! Resultatet av vårt arbete ska se ut så här.

Konvertera en YYWWD-kod till ett datumvärde i LuckyTemplates




Slutsats

I den här bloggen konverterade vi en kod som är i formatet år, vecka och veckodag till ett korrekt datumvärde. Vi bröt isär koden och skapade 3 kolumner av den. Genom att använda en 3-vägssökning slog vi samman dessa kolumner för att uppnå ett enda datumvärde.

Tekniken som vi använde för att ta itu med problemet i supportforumet kan användas i andra scenarier. Så se till att du förstår dem väl.

Med vänliga hälsningar,

Melissa


Upptäck unika insikter med LuckyTemplates TOPN-funktion

Upptäck unika insikter med LuckyTemplates TOPN-funktion

Den här bloggen innehåller LuckyTemplates TOPN DAX-funktion, som gör att du kan få unika insikter från dina data, vilket hjälper dig att fatta bättre marknadsföringsbeslut.

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Lär dig några fantastiska analytiska tekniker som vi kan göra för datamodellering i LuckyTemplates med hjälp av DAX-stödtabeller.

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Här dyker vi in ​​i LuckyTemplates Advanced DAX och implementerar rankningslogik för att få en mycket unik insikt. Jag visar också upp måttförgrening i det här exemplet.

LuckyTemplates What-If-parameterfunktion

LuckyTemplates What-If-parameterfunktion

Den här bloggen introducerar den nya funktionen i LuckyTemplates, analysparametern What-If. Du kommer att se hur det gör allt snabbt och enkelt för din scenarioanalys.

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Lär dig hur du avgör om din intäktstillväxt är bra genom att kontrollera om dina marginaler ökade med hjälp av LuckyTemplates mäter förgrening.

LuckyTemplates parametrar via frågeredigerare

LuckyTemplates parametrar via frågeredigerare

Lär dig och förstå hur du kan skapa och använda LuckyTemplates-parametrar som är en kraftfull funktion i frågeredigeraren.

Runda stapeldiagram – En visualisering för din instrumentpanel

Runda stapeldiagram – En visualisering för din instrumentpanel

Denna handledning kommer att diskutera hur man skapar ett runt stapeldiagram med Charticulator. Du kommer att lära dig hur du designar dem för din LuckyTemplates-rapport.

PowerApps funktioner och formler | En introduktion

PowerApps funktioner och formler | En introduktion

Lär dig hur du använder PowerApps funktioner och formler för att förbättra funktionaliteten och ändra ett beteende i vår Power Apps canvas-app.

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.