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ä.
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? *****
Opi lataamaan ja asentamaan DAX Studio ja Tabular Editor 3 ja miten ne määritetään käytettäväksi LuckyTemplatesissa ja Excelissä.
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.
Tässä opetusohjelmassa esittelen ainutlaatuisen idean talousraportoinnista, joka allokoi tulokset LuckyTemplatesin sisällä olevien taulukkopohjien ennalta määrittämiseen.
Luo DAX-suureita LuckyTemplatesissa käyttämällä olemassa olevia suureita tai kaavoja. Tätä kutsun mittahaaroitustekniikaksi.
Tässä blogissa tutustu LuckyTemplates-tietojoukkoon, tehokkaimpaan funktiokutsuun, joka tuo tuhansia M- ja DAX-funktioita sormiesi ulottuville.
Tämän päivän opetusohjelmassa jaan muutamia datamallinnustekniikoita DAX-mittausten järjestämiseksi paremmin tehokkaamman työnkulun aikaansaamiseksi.
LuckyTemplates on loistava työkalu talousraportointiin. Tässä on opetusohjelma räätälöityjen taulukoiden luomisesta LuckyTemplates-talouden hallintapaneelillesi.
Tässä opetusohjelmassa keskustellaan Power Query Language Flowsta ja siitä, kuinka se voi auttaa luomaan sujuvan ja tehokkaan dataraportin.
Keskustelen yhdestä suosikkitekniikoistani mukautettujen LuckyTemplates-kuvakkeiden ympärillä, joka käyttää mukautettuja kuvakkeita dynaamisella tavalla LuckyTemplates-visuaaleissa.
Tässä blogissa näytän sinulle, kuinka voit luoda LuckyTemplates-taulukoita käyttämällä kaavaa, joka yhdistää UNION-funktion ja ROW-funktion.