M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Jeg skal vise deg hvordan du legger til en parameter i M-funksjonen i datotabellspørringen din . Dette eksemplet er basert på et spørsmål som ble reist på. Du kan se hele videoen av denne opplæringen nederst på denne bloggen.

Spørsmålet handlet om hvordan man endrer nummereringen av 1. ukedag fra 0 til 1 . Merk at dette ikke endrer den faktiske starten på ukedagen. I denne datotabellen vil starten av uken alltid være mandag. Det handler bare om å referere til mandag som dag 1 i stedet for dag 0.

Denne prosessen er ikke nødvendigvis kompleks, men du trenger en grunnleggende forståelse av hvordan M-språk er strukturert. Hvis du er LuckyTemplates-medlem, kan du sjekke ut. Innledningen berører temaet.

Innholdsfortegnelse

M-funksjonen og den utvidede datotabellen

La meg starte med å gå inn i Power Query . Jeg har allerede kopiert datotabellen M-funksjonen her.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Jeg fikk M-funksjonen fra M Code Showcase-kategorien i LuckyTemplates-forumet . Koden er under emnet.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Hvis jeg åpner Advanced Editor , er dette koden.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Det er mye M-kode der inne, som kan være distraherende.

Opprette en testforespørsel

Siden det skjer for mye i M-funksjonen, skal jeg begynne med en ny tom spørring i stedet.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Jeg skal gi denne testforespørselen et navn .

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Deretter skal jeg åpne Advanced Editor .

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Fordi jeg skal lage en funksjon, skal jeg legge til et par parenteser og slette all standardkoden der inne.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

For å starte funksjonen av, skal jeg deklarere en valgfri parameter .

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Deretter skal jeg legge til en variabel. Jeg kaller denne variabelen WDStartNum siden den kommer til å stå for ukedagens startnummer. Jeg må også oppgi typen, så jeg skriver inn nummer .

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Jeg erklærer typen for å forhindre feil. Hvis jeg bare lar den være en hvilken som helst type, betyr dette at den kan passere en tabell eller en datoverdi i stedet for bare å sende tall.

Neste trinn er å legge til let -leddet og in -leddet.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Under let-klausulen trenger jeg et variabelnavn. Så jeg skal kalle denne variabelen WDStart .

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Nå må jeg teste om WDStartNum er bestått. Hvis det går gjennom, vil det ikke tilsvare null . Så jeg kommer til å erklære at hvis WDStartNum ikke er lik null, vil jeg at en verdi skal returneres .

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Når det gjelder in-klausulen, vil jeg at det samme trinnet skal vedtas. Så jeg legger bare WDStart der, som er det vi kalte variabelen vår tidligere under let-klausulen.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Når jeg trykker på Ferdig, vil funksjonen bli opprettet. Så jeg skal prøve å sende en verdi gjennom den funksjonen.

Jeg skal prøve å skrive inn bokstaven "a".

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Husk at jeg tidligere har erklært at verdien må være et tall. Fordi den gjenkjenner at verdien jeg skrev inn ikke oppfyller dette kravet, vil den ikke tillate meg å angi den parameteren.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Så jeg skal slette det og bare la plassen stå tom.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Når jeg klikker på Invoke, returnerer den en verdi på 0.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Går tilbake til min opprinnelige spørring, står det at hvis verdien ikke er lik null, skal WDStartNum returneres. Hvis den er lik null, skal en 0 returneres.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Så at 0 er riktig.

Denne gangen skal jeg prøve å sende en verdi ved å endre tallet i TestQuery. Riktig nok returnerer den en "1" når jeg trykker enter.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

La meg nå prøve å passere 2020 i TestQuery. Når jeg trykker på enter, kommer den også tilbake i 2020.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Jeg vil tydeligvis ikke at dette skal skje. Siden jeg vil ha en verdi som representerer begynnelsen av uken, vil jeg at enten 0 eller 1 skal vises. Dette betyr at jeg må lage en ny test for å se om det angitte tallet er enten en 0 eller en 1. Jeg kan bruke List.Contains- funksjonen til dette.

Bruker List.Contains

Jeg opprettet en tom spørring og gikk inn i List.Contains uten å bruke en parentes.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Når jeg trykker enter, kan jeg se dokumentasjonen om den funksjonen.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

List.Contains indikerer om listen inneholder en verdi.

Så det krever en liste som første parameter, og deretter legges en verdi til etter det. Hvis denne verdien finnes i listen, returnerer den sann. Ellers vil den returnere falsk.

Jeg åpner Advanced Editor igjen, slik at jeg kan gjøre de nødvendige endringene på søket mitt.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

I stedet for å teste om en verdi ikke er lik null, kommer jeg til å bruke List.Contains .

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Nå vil jeg gi en liste over verdier som skal brukes på denne funksjonen.

Jeg bruker krøllete parenteser som en listeinitialiserer. Innenfor de krøllete parentesene setter jeg 0, 1. Jeg legger til et komma etter at jeg har lukket den parentesen.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

For den andre parameteren skal jeg bruke WDStartNum. Deretter legger jeg til den avsluttende parentesen.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Med dette på plass betyr det at en 0 eller 1 skal gi meg WDStartNumber. Hvis noe annet enn 0 eller 1 plasseres, bør jeg få resultatet 0.

La meg teste det ved å legge inn 2020 i TestQuery. Som forventet returnerer dette en "0" (null).

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Det er fordi verdien 2020 ikke er på listen.

Legge til parameteren i M-funksjonen

Nå som jeg er sikker på at koden fungerer, kan jeg endelig legge den inn i selve datotabellen og M-funksjonen. Jeg åpner Advanced Editor , så kopierer jeg logikken .

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Så går jeg inn i datotabellspørringen.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Jeg åpner den originale M-funksjonen gjennom Advanced Editor .

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Så skal jeg lime inn koden min der. La oss sørge for at det er et komma på slutten av linjen.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Deretter skal jeg markere og kopiere parameternavnet mitt .

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Da skal jeg legge til den parameteren her .

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Merk at jeg må legge til et komma på slutten av den eksisterende linjen først, så må jeg erklære at denne parameteren er valgfri . Deretter kan jeg plassere WDStartNum og legge til typen .

Jeg har lagt til parameteren og jeg har også innebygd logikken. Men jeg må også sørge for at jeg får de forventede resultatene. Så jeg skal se etter kodelinjen som dekker ukedagen.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Deretter skal jeg legge til + WDStart .

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Jeg klikker på Ferdig for å lukke redigeringsprogrammet. Deretter skal jeg påkalle spørringen.

For startdatoen setter jeg 1. januar 2020, og deretter bruker jeg 31. desember 2020 som sluttdato.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Jeg bruker "7" som startmåneden for regnskapsåret, og deretter legger jeg "0" som WDStartNum.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Jeg klikker på Invoke. Nå har jeg datotabellen.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Jeg vil gi den nytt navn for å sikre at den lett kan identifiseres.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Nå skal jeg sjekke resultatene.

Dette er min DayOfWeek- spalte.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Det viser at mandag har returnert som 0.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

For å gå tilbake til spørsmålet i forumet, må jeg endre nummeret på ukens start til 1 i stedet for 0. Så jeg vil bare endre det i målingen.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Når jeg trykker enter, blir mandag dag 1 i stedet for dag 0.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Ser vi på tallområdet, går det nå fra 1 til 7 i stedet for 0 til 6.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Hva skjer hvis jeg passerer en nullverdi?

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering

Da går DayOfWeek for mandag bare tilbake til 0.

M-funksjon for datotabell – Slik legger du til en parameter i spørringsredigering




Konklusjon

Slik kan du legge til en ekstra parameter rett inn i M-funksjonen på datotabellspørringen din. Prosessen er ikke i det hele tatt kompleks, som jeg nevnte tidligere. Så lenge du har en kilde for M-koden, er det lett nok derfra.

Igjen, du kan alltid sjekke kurset Advanced Data Transformations & Modeling iOnline hvis du ikke har bakgrunn om hvordan M-koder fungerer.

Beste ønsker,

Melissa

***** Lære Lucky Templates? *****







Oppdag unik innsikt ved å bruke LuckyTemplates TOPN-funksjon

Oppdag unik innsikt ved å bruke LuckyTemplates TOPN-funksjon

Denne bloggen inneholder LuckyTemplates TOPN DAX-funksjonen, som lar deg få unik innsikt fra dataene dine, og hjelper deg med å ta bedre markedsføringsbeslutninger.

Datamodellering i LuckyTemplates ved hjelp av støttetabeller

Datamodellering i LuckyTemplates ved hjelp av støttetabeller

Lær noen fantastiske analytiske teknikker som vi kan gjøre for datamodellering i LuckyTemplates ved å bruke DAX-støttetabeller.

Avansert DAX for LuckyTemplates: Implementering av rangeringslogikk på tvers av unik innsikt

Avansert DAX for LuckyTemplates: Implementering av rangeringslogikk på tvers av unik innsikt

Her dykker vi ned i LuckyTemplates Advanced DAX og implementerer rangeringslogikk for å få en helt unik innsikt. Jeg viser også frem målegrening i dette eksemplet.

LuckyTemplates What-If-parameterfunksjon

LuckyTemplates What-If-parameterfunksjon

Denne bloggen introduserer den nye funksjonen i LuckyTemplates, What-If-analyseparameteren. Du vil se hvordan det gjør alt raskt og enkelt for scenarioanalysen din.

Bruk LuckyTemplates Mål forgrening for å sjekke om marginene dine øker ettersom inntektene vokser

Bruk LuckyTemplates Mål forgrening for å sjekke om marginene dine øker ettersom inntektene vokser

Finn ut hvordan du kan finne ut om inntektsveksten din er god ved å sjekke om marginene dine økte ved å bruke LuckyTemplates som måler forgrening.

LuckyTemplates Parameters Via Query Editor

LuckyTemplates Parameters Via Query Editor

Lær og forstå hvordan du kan lage og bruke LuckyTemplates Parameters som er en kraftig funksjon i spørringsredigereren.

Rundt stolpediagram – en visualisering for dashbordet ditt

Rundt stolpediagram – en visualisering for dashbordet ditt

Denne opplæringen vil diskutere hvordan du lager et rundt søylediagram ved hjelp av Charticulator. Du vil lære hvordan du designer dem for LuckyTemplates-rapporten.

PowerApps funksjoner og formler | En introduksjon

PowerApps funksjoner og formler | En introduksjon

Lær hvordan du bruker PowerApps-funksjoner og -formler for å forbedre funksjonaliteten og endre atferd i Power Apps-lerretsappen vår.

Pipe In R: Koblingsfunksjoner med Dplyr

Pipe In R: Koblingsfunksjoner med Dplyr

I denne opplæringen lærer du hvordan du kobler funksjoner sammen ved å bruke dplyr-røroperatøren i programmeringsspråket R.

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX fra LuckyTemplates lar deg returnere rangeringen til et spesifikt tall i hver tabellrad som utgjør en del av en liste med tall.