Power Query M: Skiftende 0-1 mønster i datotabel

Denne øvelse fokuserer på at bruge Power Query M number.mod-funktionen til at skabe et skiftende 0-1-mønster i Dato-tabellen. Løsningen, som jeg vil vise dig, kom fra en af ​​vores superbrugere i fællesskabet, Rajesh, hos LuckyTemplates. Du kan se den fulde video af denne tutorial nederst på denne blog.

Målet er at generere en sekvens af fire nuller vekslet med fire enere og derefter gentage den i løbet af dagen.

Power Query M: Skiftende 0-1 mønster i datotabel

Rajesh var spot on med sin analyse og problemfordeling ved at bruge Power Query M-funktionen til at løse det. Med det sagt, lad os gå over til Power Query.

Indholdsfortegnelse

Power Query M Number.Mod-funktionen

DetM, specifikt nummer.mod-funktionen kommer til at være kernen i vores løsning. Hvad gør den?

Du kan kontrollere den interne dokumentation for enhver M-funktion ved at indtaste dens navn uden parentes som vist her i formellinjen. Denne funktion returnerer resten af ​​en heltalsdivision. Det tager op til tre parametre, de to første, et tal og divisoren, som også er et tal.

Power Query M: Skiftende 0-1 mønster i datotabel

Lad os nu komme i gang. Jeg vælger min eksempelforespørgsel, der indeholder et datointerval, som jeg har forberedt.

Power Query M: Skiftende 0-1 mønster i datotabel

I mange tilfælde bruges number.mod i kombination med en indekskolonne, der derefter bruges som dens første parameter. Men det vil jeg ikke gøre, for hvis du tænker over det, er datoværdien et heltal. Så at skabe et indeks, der deler samme granularitet som kolonnen Dato, hvor hver række har en unik værdi, er noget, vi kan undgå.

Alt, hvad vi skal gøre for at efterligne et indeks, er at trække den allerførste dato i vores Dato-tabel fra hver dato i kolonnen Dato. For at gøre det kan vi gemme startdatoværdien i en variabel, så vi kan bruge den igen og igen. Jeg synes, at Advanced Editor er det bedste sted at gøre dette.

Så jeg åbnervindue og opret en ny variabel. Lad os kalde det Startdato . Jeg har hårdkodet min første date her, så jeg vil bare kopiere og indsætte den. Glem ikke kommaet i slutningen, og vi kan nu erstatte den første dato med vores startdato-variabel.

Power Query M: Skiftende 0-1 mønster i datotabel

Som du kan se, ændrede intet sig.

Power Query M: Skiftende 0-1 mønster i datotabel

Oprettelse af brugerdefineret kolonne til Power Query M-mønsteret

Så via denne minitabel vil vi tilføje en brugerdefineret kolonne.

Power Query M: Skiftende 0-1 mønster i datotabel

Lad os kalde denne kolonne, Pattern , og indtaste Power Query M-funktionen, number.mod . Du ser de to parametre her, et tal som et nullbart tal og en divisor som et nullbart tal. Så det kræver to taltypeværdier som parametre.

Power Query M: Skiftende 0-1 mønster i datotabel

Nu har vi ikke tal, vel? Vi har datoer, og der er ikke sådan noget som automatisk typekonvertering i dem. Så vi skal have tallet fra vores datoværdi. Så vi indtaster her, number.from derefter vores Dato- kolonne og trækker derefter vores StartDate- variabel.

Power Query M: Skiftende 0-1 mønster i datotabel

Lad os nu sige den første date i voresreturnerer en en, så vil vores Startdato også returnere en en. Så en minus en er lig med nul. Jeg vil have vores indeksnummerering til at starte med et et i stedet for et nul. Så vi bliver nødt til at tilføje én tilbage plus én. Nu er én minus én lig med nul plus én returnerer én for den første post.

Power Query M: Skiftende 0-1 mønster i datotabel

For den anden post får vi en værdi på to (2) for datoen i kolonnen Dato, minus en en (1) fra vores Startdato-værdi, der er lig med én, plus den, vi tilføjer tilbage, returnerer en to, og så videre . Vores gentagne mønster var baseret på en række af fire alternerende værdier. Så som divisor vil jeg give værdien fire (4).

Power Query M: Skiftende 0-1 mønster i datotabel

Lad os se, hvad det gør. I række fire får vi nul, såvel som i række otte. Så hver fjerde forekomst returnerer en nulværdi for denne post.

Power Query M: Skiftende 0-1 mønster i datotabel

Oprettelse af en HVIS-SÅ-ANDEN-konstruktion

Lad os gå tilbage til vores kundedialogboks og udvide den logik, vi har skrevet indtil nu. Bortset fra divisoren skal vi gentage den samme logik for at kunne identificere en ottende forekomst.

Men på den ottende række ønsker vi en anden værdi. Så for at skelne mellem en fjerde og en ottende forekomst kan vi bruge en HVIS-SÅ-ELSE-konstruktion. På den måde kan vi returnere en værdi for den første logiske test, der returnerer en sand.

hvis , og jeg indsætter vores kode tilbage her (undtagen divisoren), skal du ændre den divisor til en otte, så en ottende række vil returnere nul. Så hvis det er lig med nul, betyder det, at det vil fejle din vej til sand eller falsk. vil vi have en (1). Ellers , hvis vores logik her identificerer en fjerde række er lig med nul, vil vi have nul (0). Ellers ønsker vi ikke at få en værdi tilbage. Så lad os tilføje et null .

Power Query M: Skiftende 0-1 mønster i datotabel

Lad os nu tjekke vores logik igen. Så ved hver fjerde forekomst får vi det nul. Og så, den ottende, får vi en en. Dernæst får vi nul og en et, og så videre.

Så det her ser godt ud. Det eneste, vi skal gøre nu, er at fylde disse værdier op.

Power Query M: Skiftende 0-1 mønster i datotabel

Så inde i formellinjen tilføjer vi en Table.FillUp i begyndelsen og derefter nogle åbningsparenteser. I slutningen af ​​vores kode tilføjer vi typenummer - vi skal også tilføje en kolonne som en liste. Så vi går med komma , og brug derefter de krøllede parenteser til listeinitialisering og som en tekstværdi passerer vores kolonnenavn, Pattern . Glem ikke de afsluttende parenteser og tryk på OK.

Power Query M: Skiftende 0-1 mønster i datotabel




Konklusion

Dette er et meget unikt scenarie, og ærligt talt kan jeg ikke komme i tanke om en applikation til dette specifikke mønster, men forhåbentlig kan du se potentialet i at skabe sekvenser ved hjælp af Power Query M-funktionen, number.mod.

For flere detaljer, se den fulde video nedenfor for denne tutorial.

Alt det bedste!

Melissa

Leave a Comment

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.

Oprettelse af en datotabel i LuckyTemplates

Oprettelse af en datotabel i LuckyTemplates

Find ud af, hvorfor det er vigtigt at have en dedikeret datotabel i LuckyTemplates, og lær den hurtigste og mest effektive måde at gøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte vejledning fremhæver LuckyTemplates mobilrapporteringsfunktion. Jeg vil vise dig, hvordan du kan udvikle rapporter effektivt til mobilenheder.

Professionelle serviceanalyserapporter i LuckyTemplates

Professionelle serviceanalyserapporter i LuckyTemplates

I denne LuckyTemplates Showcase gennemgår vi rapporter, der viser professionel serviceanalyse fra et firma, der har flere kontrakter og kundeengagementer.

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Gå gennem de vigtigste opdateringer til Power Apps og Power Automate og deres fordele og implikationer for Microsoft Power Platform.

Almindelige SQL-funktioner: En oversigt

Almindelige SQL-funktioner: En oversigt

Opdag nogle almindelige SQL-funktioner, som vi kan bruge, såsom streng, dato og nogle avancerede funktioner til at behandle eller manipulere data.

LuckyTemplates skabelonoprettelse: Guide og tips

LuckyTemplates skabelonoprettelse: Guide og tips

I denne tutorial lærer du, hvordan du opretter din perfekte LuckyTemplates-skabelon, der er konfigureret til dine behov og præferencer.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne blog vil vi demonstrere, hvordan man lagdelte feltparametre med små multipler for at skabe utrolig nyttig indsigt og visuals.

LuckyTemplates-rangering og brugerdefineret gruppering

LuckyTemplates-rangering og brugerdefineret gruppering

I denne blog vil du lære, hvordan du bruger LuckyTemplates rangerings- og brugerdefinerede grupperingsfunktioner til at segmentere et eksempeldata og rangordne det efter kriterier.

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

I denne tutorial vil jeg dække en specifik teknik omkring, hvordan du kun viser Kumulativ Total op til en bestemt dato i dine visuals i LuckyTemplates.