M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Jeg vil vise dig, hvordan du tilføjer en parameter i M-funktionen i din datotabelforespørgsel . Dette eksempel er baseret på et spørgsmål, der blev rejst på. Du kan se den fulde video af denne tutorial nederst på denne blog.

Spørgsmålet handlede om, hvordan man skifter nummereringen af ​​1. ugedag fra 0 til 1 . Bemærk, at dette ikke ændrer den faktiske start på ugedagen. I denne datotabel vil starten af ​​ugen altid være mandag. Det handler bare om at henvise til mandag som dag 1 i stedet for dag 0.

Denne proces er ikke nødvendigvis kompleks, men du har brug for en grundlæggende forståelse af, hvordan M sprog er opbygget. Hvis du er medlem af LuckyTemplates, kan du tjekke. Indledningen berører emnet.

Indholdsfortegnelse

M-funktionen og den udvidede datotabel

Lad mig starte med at gå ind i Power Query . Jeg har allerede kopieret datotabellen M-funktionen her.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Jeg fik M-funktionen fra M Code Showcase-kategorien i LuckyTemplates-forumet . Koden er under emnet.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Hvis jeg åbner Advanced Editor , er dette koden.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Der er en masse M-kode derinde, som kan være distraherende.

Oprettelse af en testforespørgsel

Da der sker for meget i M-funktionen, vil jeg i stedet starte med en ny tom forespørgsel .

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Jeg vil navngive denne testforespørgsel .

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Dernæst vil jeg åbne Advanced Editor .

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Fordi jeg vil oprette en funktion, vil jeg tilføje et par parenteser og slette al standardkoden derinde.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

For at starte funktionen fra, vil jeg erklære en valgfri parameter .

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Dernæst vil jeg tilføje en variabel. Jeg kalder denne variabel WDStartNum , da den vil stå for ugedagens startnummer. Jeg skal også angive dens type, så jeg skriver nummer .

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Jeg erklærer typen for at forhindre fejl. Hvis jeg bare forlader det som en hvilken som helst type, betyder det, at det kunne passere en tabel eller en datoværdi i stedet for blot at sende tal.

Næste trin er at tilføje let -klausulen og in -klausulen.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Under let-klausulen har jeg brug for et variabelnavn. Så jeg vil kalde denne variabel WDStart .

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Nu skal jeg teste, om WDStartNum er bestået. Hvis det går igennem, vil det ikke være lig med null . Så jeg vil erklære, at hvis WDStartNum ikke er lig med null, vil jeg have en værdi, der returneres .

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Med hensyn til in-klausulen ønsker jeg, at det samme trin skal vedtages. Så jeg vil bare sætte WDStart der, som er det, vi kaldte vores variabel tidligere under let-klausulen.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Når jeg trykker på Udført, oprettes funktionen. Så jeg vil prøve at sende en værdi gennem den funktion.

Jeg vil prøve at skrive bogstavet "a".

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Husk, at jeg tidligere har erklæret, at værdien skal være et tal. Fordi den genkender, at den værdi, jeg indtastede, ikke opfylder dette krav, tillader den mig ikke at indtaste den parameter.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Så jeg vil slette det og bare lade feltet stå tomt.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Når jeg klikker på Invoke, returnerer det en værdi på 0.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Går tilbage til min oprindelige forespørgsel, hedder det, at hvis værdien ikke er lig med null, skal WDStartNum returneres. Hvis det er lig med null, skal et 0 returneres.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Så 0 er korrekt.

Denne gang vil jeg prøve at sende en værdi ved at ændre tallet i TestQuery. Sandt nok returnerer den et "1", når jeg trykker på enter.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Lad mig nu prøve at passere 2020 i TestQuery. Når jeg trykker på Enter, vender den også tilbage i 2020.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Jeg ønsker åbenbart ikke, at det her skal ske. Da jeg vil have en værdi, der repræsenterer starten på ugen, vil jeg have, at enten 0 eller 1 vises. Det betyder, at jeg skal lave endnu en test for at se, om det indtastede tal enten er et 0 eller et 1. Jeg kan bruge List.Contains- funktionen til dette.

Brug af List.Contains

Jeg oprettede en tom forespørgsel og indtastede List.Contains uden at bruge en parentes.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Når jeg trykker enter, kan jeg se dokumentationen om den funktion.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

List.Contains angiver, om listen indeholder en værdi.

Så det kræver en liste som den første parameter, og så tilføjes en værdi efter det. Hvis denne værdi findes på listen, returnerer den sand. Ellers vil det returnere falsk.

Jeg åbner Advanced Editor igen, så jeg kan foretage de nødvendige ændringer på min forespørgsel.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

I stedet for at teste om en værdi ikke er lig med null, vil jeg bruge List.Contains .

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Nu vil jeg give en liste over værdier, der skal anvendes på denne funktion.

Jeg vil bruge krøllede parenteser som en listeinitialiserer. Inden for de krøllede parenteser sætter jeg 0, 1. Jeg tilføjer et komma efter at have lukket den parentes.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Til den anden parameter vil jeg bruge WDStartNum. Så tilføjer jeg den afsluttende parentes.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Med dette på plads betyder det, at et 0 eller 1 skal give mig WDStartNumber. Hvis noget andet end 0 eller 1 placeres, skulle jeg få resultatet 0.

Lad mig teste det ved at sætte 2020 i TestQuery. Som forventet returnerer dette et "0" (nul).

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Det er fordi værdien 2020 ikke er på listen.

Tilføjelse af parameteren til M-funktionen

Nu hvor jeg er sikker på, at koden virker, kan jeg endelig sætte den i den faktiske datotabel og M-funktion. Jeg åbner Advanced Editor , så kopierer jeg logikken .

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Så går jeg ind i datotabelforespørgslen.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Jeg åbner den originale M-funktion gennem Advanced Editor .

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Så vil jeg indsætte min kode der. Lad os sørge for, at der er et komma i slutningen af ​​linjen.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Dernæst vil jeg fremhæve og kopiere mit parameternavn .

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Så vil jeg tilføje den parameter her .

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Bemærk, at jeg først skal tilføje et komma til slutningen af ​​den eksisterende linje, så skal jeg erklære denne parameter for at være valgfri . Så kan jeg placere WDStartNum og tilføje typen .

Jeg har tilføjet parameteren, og jeg har også indlejret logikken. Men jeg skal også sørge for, at jeg får de forventede resultater. Så jeg vil lede efter den kodelinje, der dækker ugedagen.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Så vil jeg tilføje + WDStart .

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Jeg klikker på Udført for at lukke editoren. Så vil jeg påberåbe mig forespørgslen.

Til startdatoen sætter jeg 1. januar 2020, og derefter bruger jeg 31. december 2020 som slutdato.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Jeg bruger "7" som startmåneden for regnskabsåret, og derefter sætter jeg "0" som WDStartNum.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Jeg klikker på Invoke. Nu har jeg datotabellen.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Jeg omdøber den for at sikre, at den let kan identificeres.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Nu vil jeg tjekke resultaterne.

Dette er min DayOfWeek klumme.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Det viser, at mandag er vendt tilbage som 0.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Går tilbage til spørgsmålet i forummet, så skal jeg ændre tallet for ugestart til 1 i stedet for 0. Så det ændrer jeg bare i målingen.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

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

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Ser man på talområdet, løber det nu fra 1 til 7 i stedet for 0 til 6.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Hvad sker der, hvis jeg sender en nulværdi?

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren

Så vender DayOfWeek for mandag bare tilbage til 0.

M-funktion for datotabel – Sådan tilføjes en parameter i forespørgselseditoren




Konklusion

Sådan kan du tilføje en ekstra parameter lige ind i M-funktionen på din datotabelforespørgsel. Processen er slet ikke kompleks, som jeg nævnte tidligere. Så længe du har en kilde til M-koden, er det nemt nok derfra.

Igen kan du altid tjekke kurset Advanced Data Transformations & Modeling iOnline, hvis du ikke har nogen baggrund for, hvordan M-koder fungerer.

Alt det bedste,

Melissa

***** Lærer du Lucky Templates? *****






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.