Päivämäärätaulukon luominen LuckyTemplatesissa
Ota selvää, miksi LuckyTemplatesissa on tärkeää pitää oma päivämäärätaulukko ja opi nopein ja tehokkain tapa tehdä se.
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.
Sain M-funktion LuckyTemplates Forumin M Code Showcase -luokasta . Koodi on aiheen alla.
Jos avaan Advanced Editorin , tämä on koodi.
Siinä on paljon M-koodia, mikä saattaa häiritä.
Testikyselyn luominen
Koska M-funktiossa tapahtuu liikaa, aloitan sen sijaan uudella tyhjällä kyselyllä .
Annan tälle testikyselylle nimen .
Seuraavaksi aion avata Advanced Editorin .
Koska aion luoda funktion, lisään sulkuparin ja poistan sieltä kaiken oletuskoodin.
Käynnistääksesi toiminnon, aion ilmoittaa valinnaisen parametrin .
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 .
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.
Let-lauseen alla tarvitsen muuttujan nimen. Joten aion kutsua tätä muuttujaa WDStart .
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 .
Mitä tulee lausekkeeseen, haluan, että sama vaihe ohitetaan. Joten laitan sinne vain WDStartin , jonka nimesimme muuttujamme aiemmin let-lauseen alla.
Kun painan Valmis, toiminto luodaan. Joten yritän välittää arvon tämän funktion kautta.
Yritän kirjoittaa a-kirjaimen.
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.
Joten poistan sen ja jätän tilan tyhjäksi.
Kun napsautan Invoke-painiketta, se palauttaa arvon 0.
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.
Eli 0 on oikein.
Tällä kertaa yritän välittää arvon muuttamalla numeroa TestQueryssa. Totta, se palauttaa "1", kun painan enteriä.
Yritän nyt läpäistä vuoden 2020 TestQueryssa. Kun painan enteriä, se palaa myös 2020.
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.
Kun painan enteriä, näen toiminnon dokumentaation.
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.
Sen sijaan, että testaisin, onko arvo yhtä suuri kuin nolla, aion käyttää List.Contains -tiedostoa .
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.
Toisen parametrin osalta aion käyttää WDStartNumia. Lisään sitten loppusulut.
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).
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 .
Sitten siirryn päivämäärätaulukon kyselyyn.
Avaan alkuperäisen M-funktion Advanced Editorin kautta .
Sitten liitän koodini sinne. Varmistetaan, että rivin lopussa on pilkku.
Seuraavaksi korostan ja kopioin parametrini nimen .
Lisään sitten tämän parametrin tähän .
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.
Sitten aion lisätä + WDStart .
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.
Käytän tilivuoden alkamiskuukautena numeroa 7 ja sitten WDStartNum-arvoksi 0.
Napsautan Invokea. Nyt minulla on päivämäärätaulukko.
Nimeän sen uudelleen, jotta se voidaan helposti tunnistaa.
Nyt tarkistan tulokset.
Tämä on DayOfWeek- kolumni.
Se osoittaa, että maanantai on palannut 0:na.
Palatakseni foorumin kysymykseen, minun on muutettava viikon alun numero 1:ksi 0:n sijaan. Muutan siis sen vain mitassa.
Kun painan enteriä, maanantai on nyt päivä 1 päivän 0 sijaan.
Lukualuetta tarkasteltaessa se on nyt 1-7 0-6 sijaan.
Mitä tapahtuu, jos välitän nolla-arvon?
Sitten maanantain viikonpäivä muuttuu vain nollaan.
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? *****
Ota selvää, miksi LuckyTemplatesissa on tärkeää pitää oma päivämäärätaulukko ja opi nopein ja tehokkain tapa tehdä se.
Tämä lyhyt opetusohjelma korostaa LuckyTemplates-mobiiliraportointiominaisuutta. Näytän sinulle, kuinka voit kehittää raportteja tehokkaasti mobiililaitteille.
Tässä LuckyTemplates Showcase -esittelyssä käymme läpi raportteja, jotka näyttävät ammattitaitoisen palveluanalytiikan yritykseltä, jolla on useita sopimuksia ja asiakkaiden sitoumuksia.
Käy läpi tärkeimmät Power Appsin ja Power Automaten päivitykset sekä niiden edut ja vaikutukset Microsoft Power Platformiin.
Tutustu joihinkin yleisiin SQL-toimintoihin, joita voimme käyttää, kuten merkkijono, päivämäärä ja joitain lisätoimintoja tietojen käsittelyyn tai käsittelyyn.
Tässä opetusohjelmassa opit luomaan täydellisen LuckyTemplates-mallin, joka on määritetty tarpeidesi ja mieltymystesi mukaan.
Tässä blogissa esittelemme, kuinka kerrostat kenttäparametreja pienillä kerroilla uskomattoman hyödyllisten näkemysten ja visuaalien luomiseksi.
Tässä blogissa opit käyttämään LuckyTemplates-sijoitus- ja mukautettuja ryhmittelyominaisuuksia näytetietojen segmentoimiseen ja luokitteluun kriteerien mukaan.
Tässä opetusohjelmassa käsittelen tiettyä tekniikkaa, jolla voit näyttää kumulatiivisen kokonaissumman LuckyTemplates-visuaaleissasi vain tiettyyn päivämäärään asti.
Opi luomaan ja mukauttamaan Bullet-kaavioita LuckyTemplatesissa, joita käytetään pääasiassa suorituskyvyn mittaamiseen suhteessa tavoitteeseen tai edellisiin vuosiin.