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.
Den här handledningen fokuserar på att använda Power Query M number.mod-funktionen för att skapa ett alternerande 0-1-mönster i datumtabellen. Lösningen som jag kommer att visa dig kom från en av våra kraftanvändare, Rajesh, på LuckyTemplates. Du kan se hela videon av denna handledning längst ner på den här bloggen.
Målet är att generera en sekvens med fyra nollor alternerade med fyra ettor, och sedan upprepa den under hela dagen.
Rajesh var perfekt med sin analys och problemuppdelning med hjälp av Power Query M-funktionen för att lösa det. Med det sagt, låt oss gå över till Power Query.
Innehållsförteckning
Power Query M Number.Mod-funktionen
DeM, specifikt nummer.mod-funktionen kommer att vara kärnan i vår lösning. Vad gör den?
Du kan kontrollera den interna dokumentationen för valfri M-funktion genom att ange dess namn utan parentes som visas här i formelfältet. Denna funktion returnerar resten av en heltalsdivision. Det tar upp till tre parametrar, de två första, ett tal och divisorn, som också är ett tal.
Nu börjar vi. Jag väljer min exempelfråga som innehåller ett datumintervall som jag har förberett.
I många fall används number.mod i kombination med en indexkolumn som sedan används som dess första parameter. Men jag tänker inte göra det för om du tänker efter så är datumvärdet ett heltal. Så att skapa ett index som delar samma granularitet som kolumnen Datum, där varje rad har ett unikt värde är något som vi kan undvika.
Allt vi behöver göra för att efterlikna ett index är att subtrahera det allra första datumet i vår datumtabell från varje datum i kolumnen Datum. För att göra det kan vi lagra startdatumvärdet i en variabel så att vi kan använda det om och om igen. Jag tycker att Advanced Editor är det bästa stället att göra detta.
Så jag öppnarfönster och skapa en ny variabel. Låt oss kalla det StartDate . Jag hårdkodade min första dejt här så jag ska bara kopiera och klistra in den. Glöm inte kommatecken i slutet, så kan vi nu ersätta det första datumet med vår startdatum-variabel.
Som du kan se förändrades ingenting.
Skapa anpassad kolumn för Power Query M-mönstret
Så via denna minitabell kommer vi att lägga till en anpassad kolumn.
Låt oss kalla denna kolumn, Pattern , och ange Power Query M-funktionen, number.mod . Du ser de två parametrarna här, ett tal som ett nullbart tal och en divisor som ett nullbart tal. Så det kräver två nummertypsvärden som parametrar.
Nu har vi inga siffror, eller hur? Vi har datum och det finns inget sådant som automatisk typkonvertering i dem. Så vi måste få numret från vårt datumvärde. Så vi skriver in här, number.from sedan vår Date- kolumn och subtraherar sedan vår StartDate- variabel.
Nu, låt oss säga den första dejten i vårreturnerar en etta, då kommer vårt startdatum också att returnera ett. Så ett minus ett är lika med noll. Jag vill att vår indexnumrering ska börja med en etta istället för en nolla. Så vi måste lägga till en tillbaka plus en. Nu är ett minus ett lika med noll plus ett ger en etta för den första posten.
För den andra posten får vi ett två (2) värde för datumet i kolumnen Datum, minus en etta (1) från vårt StartDate-värde som är lika med ett, plus det vi lägger tillbaka ger två, och så vidare . Vårt upprepande mönster baserades på en serie med fyra alternerande värden. Så som en divisor kommer jag att passera in värdet fyra (4).
Låt oss se vad det gör. På rad fyra får vi noll, liksom på rad åtta. Så varje fjärde förekomst returnerar ett nollvärde för den posten.
Skapa en OM-DÅ-ANNARE-konstruktion
Låt oss gå tillbaka till vår kunddialogruta och utöka den logik vi har skrivit hittills. Förutom divisorn måste vi upprepa samma logik för att kunna identifiera en åttonde förekomst.
Men på den åttonde raden vill vi ha ett annat värde. Så för att göra en skillnad mellan en fjärde och en åttonde förekomst kan vi använda en OM-DÅ-ANNE-konstruktion. På så sätt kan vi returnera ett värde för det första logiska testet som returnerar ett sant.
Så om , och jag ska klistra tillbaka vår kod här (förutom divisorn), ändra den divisorn till en åtta så att en åttonde rad returnerar noll. Så om det är lika med noll, betyder det att det kommer att misslyckas din väg till sant eller falskt. Då vill vi ha en etta (1). Annars , om vår logik här identifierar en fjärde rad är lika med noll, då vill vi ha noll (0). Annars vill vi inte få tillbaka ett värde. Så låt oss lägga till en noll .
Nu ska vi kolla vår logik igen. Så vid var fjärde förekomst får vi den nollan. Och sedan, den åttonde, får vi en etta. Därefter får vi noll och en etta och så vidare.
Så det här ser bra ut. Allt vi behöver göra nu är att fylla på dessa värden.
Så inuti formelfältet lägger vi till en Table.FillUp i början och sedan några öppningsparenteser. I slutet av vår kod lägger vi till typnummer – vi måste också lägga till en kolumn som en lista. Så vi går till kommatecken , använd sedan hakparenteserna för listinitierare och som ett textvärde skickar vi in vårt kolumnnamn, Pattern . Glöm inte de avslutande parenteserna och tryck på OK.
Slutsats
Detta är ett väldigt unikt scenario, och ärligt talat kan jag inte komma på en applikation för detta specifika mönster, men förhoppningsvis kan du se potentialen i att skapa sekvenser med hjälp av Power Query M-funktionen, number.mod.
För mer information, titta på hela videon nedan för denna handledning.
Med vänliga hälsningar!
Melissa
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.
Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.
I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.
Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.
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.
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.
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.
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.
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.
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.