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? *****







DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.

Opprette en datotabell i LuckyTemplates

Opprette en datotabell i LuckyTemplates

Finn ut hvorfor det er viktig å ha en dedikert datotabell i LuckyTemplates, og lær den raskeste og mest effektive måten å gjøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.

Vanlige SQL-funksjoner: en oversikt

Vanlige SQL-funksjoner: en oversikt

Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.

LuckyTemplates Template Creation: Guide og tips

LuckyTemplates Template Creation: Guide og tips

I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.

LuckyTemplates-rangering og tilpasset gruppering

LuckyTemplates-rangering og tilpasset gruppering

I denne bloggen vil du lære hvordan du bruker LuckyTemplates rangering og tilpassede grupperingsfunksjoner for å segmentere et eksempeldata og rangere det i henhold til kriterier.

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

I denne opplæringen skal jeg dekke en spesifikk teknikk rundt hvordan du viser kumulativ total kun opp til en bestemt dato i grafikken i LuckyTemplates.