M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Aion näyttää sinulle, kuinka voit lisätä parametrin M-funktioon päivämäärätaulukkokyselyssäsi . Tämä esimerkki perustuu kysymykseen, joka esitettiin. Voit katsoa tämän opetusohjelman koko videon tämän blogin alaosasta.

Kysymys oli siitä, kuinka viikon 1. päivän numerointi muutetaan 0:sta 1:ksi . Huomaa, että tämä ei muuta arkipäivän todellista alkamista. Tässä päivämäärätaulukossa viikon alku on aina maanantai. Kyse on vain siitä, että maanantaina viitataan päiväksi 1 päivän 0 sijaan.

Tämä prosessi ei välttämättä ole monimutkainen, mutta tarvitset perustiedot M-kielen rakenteesta. Jos olet LuckyTemplates-jäsen, voit tarkistaa. Johdatus koskettaa aihetta.

Sisällysluettelo

M-funktio ja laajennettu päivämäärätaulukko

Aloitan siirtymällä Power Queryyn . Olen jo kopioinut päivämäärätaulukon M-funktion tänne.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Sain M-funktion LuckyTemplates Forumin M Code Showcase -luokasta . Koodi on aiheen alla.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Jos avaan Advanced Editorin , tämä on koodi.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Siinä on paljon M-koodia, mikä saattaa häiritä.

Testikyselyn luominen

Koska M-funktiossa tapahtuu liikaa, aloitan sen sijaan uudella tyhjällä kyselyllä .

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Annan tälle testikyselylle nimen .

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Seuraavaksi aion avata Advanced Editorin .

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Koska aion luoda funktion, lisään sulkuparin ja poistan sieltä kaiken oletuskoodin.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Käynnistääksesi toiminnon, aion ilmoittaa valinnaisen parametrin .

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Seuraavaksi aion lisätä muuttujan. Kutsun tätä muuttujaa WDStartNum , koska se tarkoittaa viikonpäivän aloitusnumeroa. Minun on myös ilmoitettava sen tyyppi, joten kirjoitan numeron .

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Ilmoitan tyypin virheiden estämiseksi. Jos jätän sen vain tyypiksi, tämä tarkoittaa, että se voi välittää taulukon tai päivämäärän arvon pelkän numeron välittämisen sijaan.

Seuraava askel on lisätä let -lause ja in - lause.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Let-lauseen alla tarvitsen muuttujan nimen. Joten aion kutsua tätä muuttujaa WDStart .

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Nyt minun on testattava, onko WDStartNum läpäissyt. Jos se menee läpi, se ei vastaa nollaa . Joten aion ilmoittaa, että jos WDStartNum ei ole yhtä suuri kuin nolla, haluan arvon palauttavan .

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Mitä tulee lausekkeeseen, haluan, että sama vaihe ohitetaan. Joten laitan sinne vain WDStartin , jonka nimesimme muuttujamme aiemmin let-lauseen alla.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Kun painan Valmis, toiminto luodaan. Joten yritän välittää arvon tämän funktion kautta.

Yritän kirjoittaa a-kirjaimen.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Muista, että aiemmin julistin, että arvon on oltava numero. Koska se tunnistaa, että antamani arvo ei täytä tätä vaatimusta, se ei salli minun syöttää tätä parametria.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Joten poistan sen ja jätän tilan tyhjäksi.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Kun napsautan Invoke-painiketta, se palauttaa arvon 0.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Palatakseni alkuperäiseen kyselyyn, siinä todetaan, että jos arvo ei ole yhtä suuri kuin nolla, WDStartNum tulee palauttaa. Jos se on yhtä kuin nolla, palautetaan 0.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Eli 0 on oikein.

Tällä kertaa yritän välittää arvon muuttamalla numeroa TestQueryssa. Totta, se palauttaa "1", kun painan enteriä.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Yritän nyt läpäistä vuoden 2020 TestQueryssa. Kun painan enteriä, se palaa myös 2020.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Ilmeisesti en halua tämän tapahtuvan. Koska haluan arvon, joka edustaa viikon alkua, haluan, että näkyviin tulee joko 0 tai 1. Tämä tarkoittaa, että minun on luotava toinen testi nähdäkseni, onko syötetty numero joko 0 vai 1. Voin käyttää List.Contains- toimintoa tähän.

Käyttämällä List.Contains

Loin tyhjän kyselyn ja kirjoitin List.Contains ilman sulkeita.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Kun painan enteriä, näen toiminnon dokumentaation.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

List.Contains osoittaa, sisältääkö luettelo arvon.

Joten se vaatii listan ensimmäisenä parametrina, jonka jälkeen lisätään arvo. Jos tämä arvo löytyy luettelosta, se palauttaa tosi. Muuten se palauttaa epätosi.

Avaan Advanced Editorin uudelleen, jotta voin tehdä tarvittavat muutokset kyselyyn.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Sen sijaan, että testaisin, onko arvo yhtä suuri kuin nolla, aion käyttää List.Contains -tiedostoa .

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Annan nyt luettelon arvoista, joita sovelletaan tähän funktioon.

Käytän kiharasulkuja luettelon alustajana. Laitan noihin kiharaisiin hakasulkeisiin 0, 1. Lisään pilkun sulkemisen jälkeen.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Toisen parametrin osalta aion käyttää WDStartNumia. Lisään sitten loppusulut.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Kun tämä on paikallaan, se tarkoittaa, että 0 tai 1 pitäisi antaa minulle WDStartNumber. Jos sijoitetaan jotain muuta kuin 0 tai 1, minun pitäisi saada tulos 0.

Testaan ​​sitä asettamalla 2020 TestQueryyn. Kuten odotettiin, tämä palauttaa "0" (nolla).

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Tämä johtuu siitä, että arvo 2020 ei ole luettelossa.

Parametrin lisääminen M-funktioon

Nyt kun olen varma, että koodi toimii, voin vihdoin laittaa sen todellisen päivämäärätaulukon ja M-funktion sisään. Avaan Advanced Editorin ja kopioin logiikan .

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Sitten siirryn päivämäärätaulukon kyselyyn.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Avaan alkuperäisen M-funktion Advanced Editorin kautta .

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Sitten liitän koodini sinne. Varmistetaan, että rivin lopussa on pilkku.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Seuraavaksi korostan ja kopioin parametrini nimen .

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Lisään sitten tämän parametrin tähän .

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Huomaa, että minun on ensin lisättävä pilkku olemassa olevan rivin loppuun, ja sitten minun on ilmoitettava tämä parametri valinnaiseksi . Sitten voin sijoittaa WDStartNum ja lisätä tyypin .

Olen lisännyt parametrin ja olen myös upottanut logiikan. Mutta minun on myös varmistettava, että saan odotetut tulokset. Joten aion etsiä koodiriviä, joka kattaa viikonpäivän.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Sitten aion lisätä + WDStart .

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Sulje editori napsauttamalla Valmis . Sitten aion käynnistää kyselyn.

Aloituspäiväksi laitan 1. tammikuuta 2020, sitten käytän lopetuspäivänä 31. joulukuuta 2020.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Käytän tilivuoden alkamiskuukautena numeroa 7 ja sitten WDStartNum-arvoksi 0.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Napsautan Invokea. Nyt minulla on päivämäärätaulukko.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Nimeän sen uudelleen, jotta se voidaan helposti tunnistaa.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Nyt tarkistan tulokset.

Tämä on DayOfWeek- kolumni.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Se osoittaa, että maanantai on palannut 0:na.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Palatakseni foorumin kysymykseen, minun on muutettava viikon alun numero 1:ksi 0:n sijaan. Muutan siis sen vain mitassa.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Kun painan enteriä, maanantai on nyt päivä 1 päivän 0 sijaan.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Lukualuetta tarkasteltaessa se on nyt 1-7 0-6 sijaan.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Mitä tapahtuu, jos välitän nolla-arvon?

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin

Sitten maanantain viikonpäivä muuttuu vain nollaan.

M-funktio päivämäärätaulukolle – Parametrin lisääminen kyselyeditoriin




Johtopäätös

Näin voit lisätä lisäparametrin suoraan M-funktioon päivämäärätaulukkokyselyssäsi. Prosessi ei ole ollenkaan monimutkainen, kuten aiemmin mainitsin. Niin kauan kuin sinulla on M-koodin lähde, se on tarpeeksi helppoa sieltä.

Jälleen voit aina tarkistaa Advanced Data Transformations & Modeling -kurssinVerkossa, jos sinulla ei ole taustaa M-koodien toiminnasta.

Kaikki parhaat,

Melissa

***** Opitko LuckyTemplates? *****







Kuinka asentaa DAX Studio & Tabular Editor LuckyTemplatesissa

Kuinka asentaa DAX Studio & Tabular Editor LuckyTemplatesissa

Opi lataamaan ja asentamaan DAX Studio ja Tabular Editor 3 ja miten ne määritetään käytettäväksi LuckyTemplatesissa ja Excelissä.

LuckyTemplates -muotokartan visualisointi tilaanalyysiin

LuckyTemplates -muotokartan visualisointi tilaanalyysiin

Tämä blogi sisältää Shape Map -visualisoinnin tilaanalyysiä varten LuckyTemplatesissa. Näytän sinulle, kuinka voit käyttää tätä visualisointia tehokkaasti sen ominaisuuksien ja elementtien kanssa.

LuckyTemplatesin talousraportointi: tulosten kohdentaminen malleihin jokaisella rivillä

LuckyTemplatesin talousraportointi: tulosten kohdentaminen malleihin jokaisella rivillä

Tässä opetusohjelmassa esittelen ainutlaatuisen idean talousraportoinnista, joka allokoi tulokset LuckyTemplatesin sisällä olevien taulukkopohjien ennalta määrittämiseen.

DAX-mittaukset LuckyTemplatesissa käyttämällä mittahaaroitusta

DAX-mittaukset LuckyTemplatesissa käyttämällä mittahaaroitusta

Luo DAX-suureita LuckyTemplatesissa käyttämällä olemassa olevia suureita tai kaavoja. Tätä kutsun mittahaaroitustekniikaksi.

Tehokkain toimintopuhelu LuckyTemplatesissa

Tehokkain toimintopuhelu LuckyTemplatesissa

Tässä blogissa tutustu LuckyTemplates-tietojoukkoon, tehokkaimpaan funktiokutsuun, joka tuo tuhansia M- ja DAX-funktioita sormiesi ulottuville.

Datamallinnustekniikat DAX-mittausten järjestämiseen

Datamallinnustekniikat DAX-mittausten järjestämiseen

Tämän päivän opetusohjelmassa jaan muutamia datamallinnustekniikoita DAX-mittausten järjestämiseksi paremmin tehokkaamman työnkulun aikaansaamiseksi.

LuckyTemplates Financial Dashboard: Täydelliset taulukon mukautusvinkit

LuckyTemplates Financial Dashboard: Täydelliset taulukon mukautusvinkit

LuckyTemplates on loistava työkalu talousraportointiin. Tässä on opetusohjelma räätälöityjen taulukoiden luomisesta LuckyTemplates-talouden hallintapaneelillesi.

Power Queryn kielivirran parhaat käytännöt

Power Queryn kielivirran parhaat käytännöt

Tässä opetusohjelmassa keskustellaan Power Query Language Flowsta ja siitä, kuinka se voi auttaa luomaan sujuvan ja tehokkaan dataraportin.

LuckyTemplates mukautetut kuvakkeet | PBI-visualisointitekniikka

LuckyTemplates mukautetut kuvakkeet | PBI-visualisointitekniikka

Keskustelen yhdestä suosikkitekniikoistani mukautettujen LuckyTemplates-kuvakkeiden ympärillä, joka käyttää mukautettuja kuvakkeita dynaamisella tavalla LuckyTemplates-visuaaleissa.

LuckyTemplates -taulukoiden luominen UNION & ROW -funktiolla

LuckyTemplates -taulukoiden luominen UNION & ROW -funktiolla

Tässä blogissa näytän sinulle, kuinka voit luoda LuckyTemplates-taulukoita käyttämällä kaavaa, joka yhdistää UNION-funktion ja ROW-funktion.