M on tehokas kieli Power Queryn kulissien takana. Kaikki soveltamasi muunnokset kirjoitetaan M-kielellä. Monille M näyttää pelottavalta kieleltä. Tässä postauksessa haluan selittää hieman M:n perusteita. Mainitsematta mitään funktioita. Lähinnä haluan selittää, miten M-kielen syntaksi rakentuu. Kun tunnet syntaksin, kaikki muuttuu yksinkertaiseksi. M on kieli, jonka syntaksin voi oppia helposti. Power Query -kehittäjänä suosittelen lämpimästi käyttämään aikaa M-kielen opiskeluun, koska M-kielellä voi tehdä PALJON toimintoja, mutta et ehkä pysty tekemään niitä yksinkertaisesti graafisen käyttöliittymän avulla. Jos haluat oppia lisää Power BI:stä, lue Power BI -kirja From Rookie to Rock Star.

M on Power Query Formula Language -kielen epävirallinen nimi. Virallinen nimi on niin pitkä, että kukaan ei käytä sitä, kaikki kutsuvat sitä M:ksi! M on lyhenne sanoista Data Mashup, joidenkin mukaan se on lyhenne sanoista Data Modeling. M on funktionaalinen kieli, ja on tärkeää tuntea sen toiminnot. Jokaisella kielellä on kuitenkin rakenne ja syntaksi, joka on alkeistaso kyseisen kielen oppimisessa. Tässä postauksessa selitän M:n syntaksin. Ennen kuin opettelet M:ää, haluaisin sinun lukevan tämän lauseen ääneen;

M on paljon tehokkaampi kuin Power Queryn graafinen käyttöliittymä

Joo, luit oikein! Power Queryn graafinen käyttöliittymä muuttuu joka kuukausi. Joka kuukausi tähän graafiseen käyttöliittymään tulee uusia toimintoja. Mutta tosiasia on, että kaikki nämä toiminnallisuudet ovat olleet kielessä jo vuosia! jos osaisit kieltä, voisit helposti käyttää niitä sen sijaan, että odottaisit graafisen käyttöliittymän vaihtoehtoa siihen. Siitä on kasoittain esimerkkejä. yksi hyvin pieni esimerkki on tässä: voit laajentaa Power Queryn ryhmittelykykyä hyvin pienellä muutoksella sen M-skriptissä.

M:n syntaksi

Tämän kielen syntaksi on yksinkertainen. siinä on aina kaksi ohjelmointilohkoa: LET-lausekelohko ja IN-lausekelohko. Tässä on yksinkertaisin M-syntaksi;

let x=1in x

let ja in ovat varattuja sanoja. ennen kuin mennään askeltakaan pidemmälle, ensimmäinen ja tärkein asia, joka sinun on tiedettävä;

M (Power Query Formula Language) on Case Sensitive. On eroa x:n ja X:n välillä.

mitä nämä kaksi ohjelmointilohkoa ovat:

let: kaikkien muuttujien määrittely

in: tulostus! Kyllä, in tarkoittaa itse asiassa ulostuloa! vain nimetty in:ksi. kaikki mitä laitat tähän lohkoon, tulee olemaan kyselysi ulostulo.

Kaikki alla oleva kysely tarkoittaa siis pohjimmiltaan sitä, että määrittelet muuttujan nimeltä x, annat sille arvon 1 ja näytät sen tulosjoukkona. kysely palauttaa siis arvon 1.

suorittaaksesi tämän esimerkin sinun on avattava Power BI Desktop. Siirry kohtaan Get Data, aloita New Blank Query.

Sitten View-välilehdellä valitse Advanced Editor;

Varmista skriptiä kirjoittaessasi, että laitat varatut sanat, kuten let ja pienellä alkukirjaimella. myös muuttujan nimen tulee olla samalla tavalla sekä let- että section-kirjaimessa.

Kuten huomaat, muuttujien tietotyyppejä ei ole tarpeen määrittää. se osoitetaan automaattisesti, kun ensimmäinen osoitus tapahtuu.

Jos määrittelet tekstiarvon, muuttuja olisi automaattisesti tekstin tietotyyppi.

Rivin loppu

Koodirivit M:ssä jatkuvat, jos et laita rivin loppumerkkiä.

Kuten näet yllä olevasta esimerkistä, rivi jatkuu, ja x:stä tulee yhtä suuri kuin x=1+1+1 . Jos haluat laittaa riville lopetusmerkin, käytä pilkkua(,). esimerkki tässä:

jokainen rivi tarvitsee lopetusmerkin pilkku(,). paitsi viimeinen rivi ennen in:tä.

Muuttujien nimet

Muuttujien nimet voivat olla kaikki yhtä sanaa, kuten Lähde. tai siinä voi olla välilyöntejä. jos siinä on joitakin merkkejä, kuten välilyönti, nimi on laitettava lainausmerkkien (”) sisään ja sen alkuun on laitettava hashtag(#). jotain vastaavaa:

#"This is a variable name"

Muuttujan nimessä voi olla erikoismerkkejä, tässä on esimerkki:

Erikoismerkit

Muuttujien nimissä voi olla erikoismerkkejä, kuten alla olevasta muuttujasta näkyy, muuttujassa on kaikentyyppisiä merkkejä ja se toimii silti hyvin.

Escape-merkki

Kaksinumeroinen lainausmerkki (”) on escape-merkki. voit käyttää sitä määrittelemään muuttujia, joiden nimissä on toinenkin lainausmerkki. Tässä on esimerkki:

Ensimmäinen kaksoishuomautus (korostettu) yllä on oltava ennen toista kaksoishuomautusta (joka on osa muuttujan nimeä).

Vaihe vaiheelta koodaus

Power Query on vaiheittainen muunnos. Jokainen muunnos tapahtuu yleensä vaiheittain. Kun kirjoitat koodia, voit myös huomata, että oikealla puolella näet, että jokainen muuttuja muodostaa askeleen.

Yllä olevassa kuvakaappauksessa näet, että jokainen muuttuja on määritetty askeleena. ja jos muuttujan nimessä on välilyönti, se näkyy välilyönneillä sovellettujen vaiheiden luettelossa.

Viimeinen muuttuja määritetään aina in-osiossa.

Litteraalit

Jokaista literaalia voidaan määritellä Power Queryssa eri tavoin. Jos haluat esimerkiksi määritellä päivämäärämuuttujan, se tehdään näin;

Kaikkien muiden literaalityyppien määrittelyyn käytetään seuraavaa viitetaulukkoa:

* funktiolle ja tyypille; Kirjoitan myöhemmin toisen postauksen, jossa selitän, miten nämä tyypit toimivat.

Funktion kutsu

M on funktionaalinen kieli, ja melkein kaiken tekemiseen on kutsuttava funktiota. funktioita voidaan kutsua helposti funktion nimellä ja määrittelemällä sille parametrit.

yllä olevassa kuvakaappauksessa käytetään Date.Year-funktiota, joka hakee päivämäärän vuosiosan. Funktioiden nimet alkavat aina isoilla kirjaimilla: Date.Year()

Kuten missä tahansa ohjelmointikielessä, voit laittaa koodiin kommentteja. se voi olla kahdessa muodossa;

Yksirivinen kommentti kaksoisvinoviivalla (//)

Monirivinen kommentti vinoviivan ja alkujen välissä (/* kommentit */)

Todellinen esimerkki

Nyt kun tunnet joitain perusasioita, katsotaanpa olemassa olevaa kyselyä edistyneessä editointimoodissa ja ymmärretään se.

Yllä olevassa kuvakaappauksessa näet kaikki tähän mennessä mainitut perusteet:

  1. let ja in block
  2. muuttujien nimet vastaavat kyselyssä sovellettuja vaiheita
  3. jotain muuttujien nimiä, joissa on hashtag ja kaksinkertainen lainausmerkki: #”var-nimi”
  4. rivin loppumerkit: pilkku
  5. monien funktioiden kutsuminen

Tässä kyselyssä on vielä monia kohtia, joita et ehkä ymmärrä. erityisesti funktioita käytettäessä. sinun on opittava, mitä funktiot tekevät, jotta ymmärrät koodin täysin. Olen kirjoittanut blogikirjoituksen, jossa selitetään, miten voit käyttää #shared-avainsanaa saadaksesi dokumentaation kaikista Power Queryn funktioista.

Seuraavissa kirjoituksissa selitän M:n rakenteiden muita tasoja.

Trainer, Consultant, Mentor
Reza Rad on Microsoftin aluejohtaja, kirjailija, kouluttaja, puhuja ja konsultti. Hänellä on tietotekniikan kandidaatin tutkinto; hänellä on yli 20 vuoden kokemus data-analyysistä, BI:stä, tietokannoista, ohjelmoinnista ja kehittämisestä pääasiassa Microsoftin teknologioiden parissa. Hän on ollut Microsoft Data Platform MVP yhdeksän vuotta yhtäjaksoisesti (vuodesta 2011 tähän päivään asti) omistautumisestaan Microsoft BI:lle. Reza on aktiivinen bloggaaja ja RADACADin toinen perustaja. Reza on myös Uudessa-Seelannissa järjestettävän Difinity-konferenssin toinen perustaja ja järjestäjä.
Hänen artikkelinsa eri teknologioista, erityisesti MS BI:stä, löytyvät hänen blogistaan: https://radacad.com/blog.
Hän on kirjoittanut joitakin kirjoja MS SQL BI:stä ja kirjoittaa myös muita. Hän on myös ollut aktiivinen jäsen teknisillä verkkofoorumeilla, kuten MSDN:ssä ja Experts-Exchangessa, ja ollut MSDN:n SQL Server -foorumien moderaattorina, ja hänellä on BI:n MCP-, MCSE- ja MCITP-tutkinnot. Hän on Uuden-Seelannin Business Intelligence -käyttäjäryhmän johtaja. Hän on myös kirjoittanut erittäin suositun kirjan Power BI from Rookie to Rock Star, joka on ilmainen ja sisältää yli 1700 sivua sisältöä, sekä Apressin julkaiseman Power BI Pro Architecture -kirjan.
Hän toimii kansainvälisenä puhujana Microsoft Ignite-, Microsoft Business Applications Summit-, Data Insight Summit- ja PASS Summit -tapahtumissa, SQL Saturday -tapahtumassa sekä SQL-käyttäjäryhmissä. Ja hän on Microsoftin sertifioitu kouluttaja.
Rezan intohimona on auttaa sinua löytämään paras dataratkaisu, hän on datan harrastaja.

Vastaa

Sähköpostiosoitettasi ei julkaista.