Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

Denna handledning kommer att täcka om den viktigaste LuckyTemplates dimensionstabell i alla modeller, datumtabellen . Du kan se hela videon av denna handledning längst ner på den här bloggen.

Den bästa praxisen när du designar en modell är att leta efter datumfält. Om de finns, inkludera alltid en datumdimensionstabell.

Ainnehåller alla attribut som du kanske vill dela, tärna och filtrera din data med för att få värdefulla insikter. Med den kommer ett datumfält var som helst i din modell inte att vara ett problem.

Innehållsförteckning

Hämta Power Query M-koden i forumen

I rutan kan du skriva datumtabell i sökfältet eller byta till kategorier och leta efter M Code Showcase . Men det snabbaste sättet att hitta det är att leta efter "@melissa".

Välj sedan valfritt ämne, klicka sedan på märket och klicka sedan på tabellen för utökat datum för utvalda ämnen .

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

Du hittar då M-koden.

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

Kopiera hela måttet och överför det till Power Query.

Applikation i Power Query

För det här steget, se till att formelfältet är synligt. Om det inte är det, gå till Visa flikar och aktivera det.

Högerklicka på mappen Parameter och funktion, välj Ny fråga och sedan Tom fråga.

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

Klicka sedan på Advanced Editor och klistra in . Efter det ändrar du frågenamnet till fxCalendar.

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

Du måste ställa in parametrarna innan du kan anropa den här funktionen. Ställ in den med följande detaljer:

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

Anropa funktionen och döp sedan om den till Datum.

Den kommer nu att visa dig denna datumtabell med 32 kolumner. Om du är bekant med M-koden kommer du förmodligen att känna igen några kolumner här. De andra kolumnerna är ytterligare attribut eller logik från koden du använde.

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

I datumtabellen som visas kan du se kolumner för räkenskapsår, kvartal och period, samt filterkolumnerna IsAfterToday, IsWorkingDay och IsHoliday.

Eftersom den 4:e parametern inte ställdes in har IsHoliday ett okänt värde.

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

Dessutom ingår i denna datumtabell Offset-kolumnerna som förenklar DAX-koden som du behöver för att göra lite analys.

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

Om du vill lägga till attribut, använd koden och ändra den till vad du vill. Om du också vill ta bort onödiga kolumner, gå till Välj kolumner och avmarkera sedan det du inte behöver.

Gör ett dynamiskt slutdatum

När du utvecklar en rapport är startdatumet enkelt att ställa till skillnad från slutdatumet. Slutdatumet är knepigt eftersom det beror på data i din modell och hur länge din rapport förblir aktiv .

För att göra ett dynamiskt slutdatum måste vi uppdatera året dynamiskt.

Skapa först en ny tom fråga.

M-motsvarigheten till DAX- eller Excel-funktionen är "DateTime.FixedLocalNow". Detta är vad funktionen gör:

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

Därefter, i formelfältet, använd funktionen för att extrahera årsvärdet.

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

När du når slutet av året kan dina data spridas över nästa år. Så det är bäst att lägga till ytterligare ett år så här:

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

Efter det byter du namn på frågan "MaxYear".

Gå tillbaka till din datumtabell och skriv in variabeln MaxYear i funktionen för att ha år 2021 i din kalender.

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

Åberopa och hämta semesterlistans kolumn

Om du kollar din semestertabell kan du se att den löper från 2018 till 2020 även om maxåret är 2021.

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

För att ändra detta, gå till Source Step och sub i MaxYear-variabeln i måttet.

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

Ditt semesterbord kommer då att ha år 2021.

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

Gå sedan tillbaka och ställ in parametrarna igen. Men den här gången, inkludera semesterparametern genom att klicka på Välj kolumn.

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

Välj Helgdagar och kolumnen som innehåller datumen och klicka sedan på OK.

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

Efter att ha ställt in allt och klickat på Invoke kommer du att se variabeln "Holidays[Datum]" i formelfältet. Kopiera den variabeln och ta bort den anropade funktionen.

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

Gå tillbaka till datumtabellen och subvariabeln i källstegens funktion.

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

När den är klar med att ladda och anropa funktionen kommer du att se att IsHoliday-kolumnen som en gång hade okända värden nu har True eller False-värden i varje rad.

Använda M-funktionen för att skapa en utökad LuckyTemplates-datumtabell

Det visar True om datumet är en helgdag och False om annat.




Slutsats

Power Query M-koden är en användbar funktion för att fylla i din datumtabellrapport.

Den visar dig vad du vill se i din tabell och ger dig bekvämt data för din modell.

Du behöver bara hämta koden, ställa in den i Power Query och ändra den enligt vad du behöver i din tabell.

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.