Power Query M: Afwisselend 0-1 patroon in datumtabel

Power Query M: Afwisselend 0-1 patroon in datumtabel

Deze zelfstudie richt zich op het gebruik van de Power Query M-functie number.mod om een ​​afwisselend 0-1-patroon in de datumtabel te maken. De oplossing die ik je ga laten zien, kwam van een van onze community power users, Rajesh, bij LuckyTemplates. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.

Het doel is om een ​​reeks van vier nullen te genereren, afgewisseld door vier enen, en deze de hele dag door te herhalen.

Power Query M: Afwisselend 0-1 patroon in datumtabel

Rajesh was perfect met zijn analyse en probleemanalyse met behulp van de Power Query M-functie om het op te lossen. Met dat gezegd, laten we naar Power Query gaan.

Inhoudsopgave

De Power Query M Number.Mod-functie

De Power Query M, met name de functie number.mod, wordt de kern van onze oplossing. Wat doet het?

U kunt de interne documentatie van elke M-functie controleren door de naam zonder haakjes in te voeren, zoals hier in de formulebalk wordt weergegeven. Deze functie retourneert de rest van een deling door een geheel getal. Er zijn maximaal drie parameters nodig, de eerste twee, een getal en de deler, die ook een getal is.

Power Query M: Afwisselend 0-1 patroon in datumtabel

Laten we nu beginnen. Ik selecteer mijn voorbeeldquery die een datumbereik bevat dat ik heb opgesteld.

Power Query M: Afwisselend 0-1 patroon in datumtabel

In veel gevallen wordt number.mod gebruikt in combinatie met een indexkolom die vervolgens als eerste parameter wordt gebruikt. Maar dat ga ik niet doen, want als je erover nadenkt, is de datumwaarde een geheel getal. Dus het creëren van een index die dezelfde granulariteit deelt als de kolom Datum, waarbij elke rij een unieke waarde heeft, kunnen we vermijden.

Het enige dat we hoeven te doen om een ​​index na te bootsen, is de allereerste datum in onze Datum-tabel af te trekken van elke datum in de Datum-kolom. Om dat te doen, kunnen we de startdatumwaarde in een variabele opslaan, zodat we die steeds opnieuw kunnen gebruiken. Ik vind dat de geavanceerde editor de beste plaats is om dit te doen.

Dus ik open het Advanced Editor- venster en maak een nieuwe variabele aan. Laten we het StartDate noemen . Ik heb mijn eerste datum hier hard gecodeerd, dus ik ga het gewoon kopiëren en plakken. Vergeet de komma aan het einde niet, en we kunnen die eerste datum nu vervangen door onze variabele Startdatum.

Power Query M: Afwisselend 0-1 patroon in datumtabel

Zoals je ziet is er niets veranderd.

Power Query M: Afwisselend 0-1 patroon in datumtabel

Aangepaste kolom maken voor het Power Query M-patroon

Dus via deze minitabel gaan we een aangepaste kolom toevoegen.

Power Query M: Afwisselend 0-1 patroon in datumtabel

Laten we deze kolom Pattern noemen en de Power Query M-functie number.mod invoeren . Je ziet hier de twee parameters, een getal als een null-getal en een deler als een null-getal. Het vereist dus twee waarden van het type getal als parameters.

Power Query M: Afwisselend 0-1 patroon in datumtabel

Nu hebben we geen cijfers, toch? We hebben datums en daarin zit niet zoiets als automatische typeconversie. We moeten dus het nummer uit onze datumwaarde halen. Dus we typen hier in, number.from dan onze Date- kolom en trekken dan onze StartDate- variabele af.

Power Query M: Afwisselend 0-1 patroon in datumtabel

Laten we nu zeggen dat de eerste datum in onze Date-tabel een één retourneert, dan zal onze StartDate ook een één retourneren. En dus is één min één gelijk aan nul. Ik wil dat onze indexnummering begint met een één in plaats van een nul. Dus we moeten er één plus één bij optellen. Nu is één min één gelijk aan nul plus één retourneert een één voor het eerste record.

Power Query M: Afwisselend 0-1 patroon in datumtabel

Voor het tweede record krijgen we een waarde van twee (2) voor de datum in de kolom Datum, minus een één (1) van onze StartDate-waarde die gelijk is aan één, plus degene die we optellen, retourneert een twee, enzovoort . Ons herhalend patroon was gebaseerd op een reeks van vier afwisselende waarden. Dus als deler geef ik de waarde vier (4) door.

Power Query M: Afwisselend 0-1 patroon in datumtabel

Laten we eens kijken wat dat doet. In rij vier krijgen we nul, evenals in rij acht. Dus elke vierde instantie retourneert een nulwaarde voor dat record.

Power Query M: Afwisselend 0-1 patroon in datumtabel

Een IF-THEN-ELSE-constructie maken

Laten we teruggaan naar ons klantdialoogvenster en voortborduren op de logica die we tot nu toe hebben geschreven. Behalve de deler moeten we dezelfde logica herhalen om een ​​achtste voorkomen te kunnen identificeren.

Op die achtste rij willen we echter een andere waarde. Dus om onderscheid te maken tussen een vierde en een achtste voorkomen, kunnen we een IF-THEN-ELSE-constructie gebruiken. Op die manier kunnen we een waarde retourneren voor de eerste logische test die een waar retourneert.

Dus als , en ik plak hier onze code terug (behalve de deler), verander die deler dan in een acht zodat een achtste rij nul zal retourneren. Dus als dat gelijk is aan nul, betekent dit dat het je weg naar waar of onwaar zal mislukken. Dan willen we er een (1). Anders , als onze logica hier identificeert dat een vierde rij gelijk is aan nul, dan willen we nul (0). Anders willen we geen waarde terugkrijgen. Dus laten we een null toevoegen .

Power Query M: Afwisselend 0-1 patroon in datumtabel

Laten we nu onze logica opnieuw controleren. Dus bij elke vierde gebeurtenis krijgen we die nul. En dan, op de achtste, krijgen we er een. Vervolgens krijgen we nul en een één, enzovoort.

Dit ziet er dus goed uit. Het enige wat we nu nog hoeven te doen is deze waarden invullen.

Power Query M: Afwisselend 0-1 patroon in datumtabel

Dus in de formulebalk voegen we aan het begin een Table.FillUp toe en vervolgens enkele haakjes openen. Aan het einde van onze code voegen we het typenummer toe - we moeten ook een kolom toevoegen als een lijst. Dus we gaan komma , gebruiken dan de accolades voor lijstinitialisatie en als tekstwaarde doorgeven in onze kolomnaam Pattern . Vergeet de haakjes sluiten niet en druk op OK.

Power Query M: Afwisselend 0-1 patroon in datumtabel


Beginnersgids voor de M-code in LuckyTemplates
M-functie voor datumtabel - Hoe u een parameter toevoegt in de query-editor
Datumtabelkolommen sorteren in LuckyTemplates

Conclusie

Dit is een heel uniek scenario en eerlijk gezegd kan ik geen toepassing bedenken voor dit specifieke patroon, maar hopelijk zie je het potentieel van het maken van reeksen met behulp van de Power Query M-functie, number.mod.

Bekijk voor meer informatie de volledige video hieronder voor deze zelfstudie.

Al het beste!

Melissa


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten