M este limbajul puternic din spatele scenei Power Query. Orice transformare pe care o aplicați va fi scrisă în limbajul M. Pentru mulți, M pare a fi un limbaj înfricoșător. În această postare îmi place să explic un pic din elementele de bază ale M. Fără a menționa nicio funcție. În principal, vreau să vă explic cum este structurată sintaxa limbajului M. Odată ce cunoașteți sintaxa, atunci totul devine simplu. M este un limbaj a cărui sintaxă se poate învăța cu ușurință. În calitate de dezvoltator Power Query; vă recomand cu tărie să petreceți timp cu M, deoarece există MULTE operații pe care le puteți face cu M, dar s-ar putea să nu le puteți face pur și simplu cu interfața grafică. Dacă doriți să aflați mai multe despre Power BI, citiți cartea Power BI from Rookie to Rock Star.

M este numele informal al limbajului de formulare Power Query. Denumirea formală este atât de lungă încât nimeni nu o folosește, toată lumea îi spune M! M vine de la Data Mashup, unii spun că vine de la Data Modeling. M este un limbaj funcțional și este important să se cunoască funcțiile acestuia. Cu toate acestea, fiecare limbaj are o structură și o sintaxă care reprezintă nivelul de începător al învățării acelui limbaj. În această postare, voi explica sintaxa lui M. Înainte de a învăța M, aș dori să citiți cu voce tare această propoziție;

M este mult mai puternic decât interfața grafică a Power Query

Da, ați citit corect! Interfața grafică a Power Query se schimbă în fiecare lună. În fiecare lună apar noi funcționalități în această interfață grafică. Dar adevărul este că toate aceste funcționalități se află în limbaj de mulți ani! dacă ați cunoaște limbajul, le-ați putea folosi cu ușurință, în loc să așteptați opțiunea interfeței grafice pentru aceasta. Există o grămadă de exemple în acest sens. un exemplu foarte mic este aici: puteți extinde capacitatea de grupare în Power Query cu o schimbare foarte mică în scriptul M al acestuia.

Sintaxa limbajului M

Sintaxa acestui limbaj este simplă. el are întotdeauna două blocuri de programare: Blocul de expresii LET și blocul de expresii IN. Iată cea mai simplă sintaxă M;

let x=1in x

let și in sunt cuvinte rezervate. înainte de a merge chiar și cu un pas mai departe, primul și cel mai important lucru pe care trebuie să-l știți;

M (Power Query Formula Language) este Case Sensitive. Există o diferență între x și X.

Ce sunt aceste două blocuri de programare:

let: definiția tuturor variabilelor

in: ieșire! Da, in înseamnă de fapt out! doar că se numește in. tot ceea ce puneți în acest bloc va fi ieșirea interogării dumneavoastră.

Atunci, practic, interogarea de mai jos înseamnă definirea unei variabile numite x, atribuirea valorii 1 acesteia și afișarea ei ca set de rezultate. deci interogarea va returna 1.

pentru a rula acest exemplu, trebuie să deschideți Power BI Desktop. Mergeți la Get Data, începeți cu New Blank Query.

După aceea, în fila View, selectați Advanced Editor;

Asigurați-vă că atunci când scrieți scriptul, puneți cuvintele rezervate, cum ar fi let și cu minuscule. de asemenea, numele variabilei dvs. ar trebui să fie cu aceleași majuscule atât în let, cât și în section.

După cum puteți vedea, nu este nevoie să definiți tipurile de date pentru variabile. aceasta va fi atribuită automat atunci când are loc prima atribuire.

Dacă specificați o valoare text, atunci variabila va fi automat un tip de date text.

Finalul liniei

Liniile de coduri din M continuă dacă nu puneți caracterul de final de linie.

Cum puteți vedea în exemplul de mai sus, linia continuă, iar x va fi egal cu x=1+1 . Dacă doriți să puneți un sfârșit pentru o linie folosiți virgulă(,). exemplu aici:

fiecare linie are nevoie de o virgulă(,) pentru a se termina. cu excepția ultimei linii înainte de in.

Numele variabilelor

Numele variabilelor poate fi tot un singur cuvânt, ca Source. sau poate avea spații în el. în cazul în care are unele caractere, cum ar fi spațiu, atunci trebuie să puneți numele în interiorul ghilimelelor duble („) și să puneți un hashtag la începutul acestuia(#). ceva asemănător cu:

#"This is a variable name"

Numele variabilei poate conține caractere speciale, iată un exemplu:

Caractere speciale

Numele variabilei poate avea caractere speciale, după cum puteți vedea mai jos, variabila are toate tipurile de caractere în ea și încă funcționează bine.

Caracter de evadare

Caracterul de evadare („) este un caracter de evadare. îl puteți folosi pentru a defini variabile cu nume care au un alt citat dublu în ele. iată un exemplu:

Primul ghilimele dublu (evidențiat) de mai sus este necesar să fie înaintea celui de-al doilea ghilimele dublu (care face parte din numele variabilei).

Codare pas cu pas

Power Query este o transformare pas cu pas. Fiecare transformare are loc, de obicei, într-un pas. În timp ce scrieți codul, puteți observa, de asemenea, că în partea dreaptă, veți vedea că fiecare variabilă formează un pas.

În captura de ecran de mai sus, puteți vedea că fiecare variabilă este determinată ca un pas. iar dacă variabila are spațiu în nume, aceasta va fi afișată cu spații în lista pașilor aplicați.

Ultima variabilă este întotdeauna specificată în secțiunea in.

Literali

Există diferite moduri de a defini fiecare literal în Power Query. De exemplu, dacă doriți să definiți o variabilă de dată, iată cum să o faceți;

pentru definirea tuturor celorlalte tipuri de literali, iată tabelul de referință care trebuie folosit:

* pentru funcție și tip; voi scrie un alt articol mai târziu pentru a explica cum funcționează aceste tipuri.

Apelarea funcției

M este un limbaj funcțional, iar pentru a face aproape orice trebuie să apelați o funcție pentru aceasta. funcțiile pot fi apelate cu ușurință cu numele funcției și specificând parametrii pentru aceasta.

Captura de ecran de mai sus folosește funcția Date.Year care extrage partea de an a unei date. Numele funcțiilor începe întotdeauna cu litere majuscule: Date.Year()

Ca orice limbaj de programare, puteți pune câteva comentarii în cod. acesta poate fi sub două forme;

Comentariu pe o singură linie cu bară oblică dublă (//)

Comentariu pe mai multe linii între bară oblică și începuturi (/* comentarii */)

Un exemplu din lumea reală

Acum că știți câteva noțiuni de bază, haideți să ne uităm la o interogare existentă în modul editor avansat și să o înțelegem.

În captura de ecran de mai sus, puteți vedea toate elementele de bază menționate până acum:

  1. let și în bloc
  2. numele variabilelor care corespund pașilor aplicați în interogare
  3. unele nume de variabile cu hashtag și ghilimele duble: #”var name”
  4. caractere de sfârșit de linie: virgulă
  5. apelarea mai multor funcții

Există încă multe părți din această interogare pe care s-ar putea să nu le înțelegeți. în special atunci când se utilizează funcții. trebuie să învățați ce fac funcțiile pentru a înțelege pe deplin codul. Am scris o postare pe blog, care explică cum să folosiți cuvântul cheie #shared pentru a obține documentația tuturor funcțiilor din Power Query.

În următoarele postări, voi explica alte niveluri de structuri în M.

Trainer, Consultant, Mentor
Reza Rad este director regional Microsoft, autor, formator, vorbitor și consultant. Este licențiat în inginerie informatică; are o experiență de peste 20 de ani în analiza datelor, BI, baze de date, programare și dezvoltare, în principal pe tehnologii Microsoft. Este MVP al Platformei de date Microsoft timp de nouă ani neîntrerupți (din 2011 până în prezent) pentru dedicarea sa în Microsoft BI. Reza este un blogger activ și co-fondator al RADACAD. Reza este, de asemenea, co-fondator și co-organizator al conferinței Difinity din Noua Zeelandă.
Articolele sale despre diferite aspecte ale tehnologiilor, în special despre MS BI, pot fi găsite pe blogul său: https://radacad.com/blog.
A scris câteva cărți despre MS SQL BI și, de asemenea, mai scrie și altele, A fost, de asemenea, un membru activ pe forumuri tehnice online, cum ar fi MSDN și Experts-Exchange, și a fost un moderator al forumurilor MSDN SQL Server, și este MCP, MCSE și MCITP de BI. Este liderul grupului de utilizatori de Business Intelligence din Noua Zeelandă. De asemenea, este autorul cărții foarte populare Power BI from Rookie to Rock Star, care este gratuită, cu peste 1700 de pagini de conținut și Power BI Pro Architecture, publicată de Apress.
Este speaker internațional în cadrul Microsoft Ignite, Microsoft Business Applications Summit, Data Insight Summit, PASS Summit, SQL Saturday și grupuri de utilizatori SQL. Și este un Microsoft Certified Trainer.
Pasiunea lui Reza este de a vă ajuta să găsiți cea mai bună soluție de date, este un entuziast al datelor.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.