Pentru a demonstra structura codului M, am folosit interfața de utilizator pentru a ne conecta la un tabel OData, a aplica unele filtre și a elimina câteva coloane.

Secțiunea de pași aplicați a interogării Orders arată astfel:

Au fost create automat 4 pași:

  • Sursă – conexiunea la sursa OData
  • Navigare – navighează la tabelul Orders
  • Filtrare rânduri – aplică un filtru pentru coloana Date (între 01/01/1996 și 01/01/1999)
  • Eliminare alte coloane – păstrează doar unele dintre coloanele din tabelul Orders

Power Query servește atât ca un înregistrator de macrocomenzi, cât și ca un instrument interactiv, oferind interacțiune prin fereastra de pași aplicați și, într-o oarecare măsură, prin bara de formule. Totuși, ceea ce este mai puțin vizibil este limbajul de programare care operează sub suprafața sa.

Pentru a vizualiza codul M din spatele unei interogări, accesați fila Home și selectați Advanced Editor.

Făcând clic pe butoanele și meniurile prezentate mai sus, se va deschide fereastra Advanced Editor, unde putem scrie sau modifica codul nostru M. Această interfață oferă funcționalități precum Intellisense și evidențierea sintaxei, împreună cu opțiuni suplimentare de afișare accesibile prin meniul derulant din colțul din dreapta sus. Pentru a îmbunătăți lizibilitatea codului, au fost activate următoarele opțiuni:

  • Afișează numerele de linie
  • Redă spațiile albe
  • Activează împachetarea cuvintelor

Codul M pentru interogarea Orders arata precum mai jos:

Haideți să descompunem componentele codului din această fereastră, care constau în patru părți principale:

  1. Începutul interogării:
    Acesta este indicat de cuvântul cheie „let” la începutul interogării, de obicei găsit în partea de sus (în acest caz, linia 1).
  2. Sfârșitul interogării:
    Acesta este marcat de cuvântul cheie „in” (linia 6), de obicei poziționat cu o linie înainte de încheierea codului.
  3. Definiția interogării:
    Aceasta cuprinde tot ce se află între cuvintele cheie „let” și „in„, determinând acțiunile interogării. În acest exemplu, definiția se extinde pe liniile 2 până la 5.
  4. Rezultatul interogării:
    După cuvântul cheie „in„, se specifică rezultatul interogării. În acest caz, este definită pe linia 7, returnând valoarea din ultimul pas al interogării, etichetat ca #”Removed Other Columns” (dar poate face referire și la alți pași decât cel final).

În Power Query, folosim identificatori pentru a face referire la valori. Acești identificatori pot fi scriși în două moduri:

  • Identificatori obișnuiți:
    Aceștia nu conțin spații sau caractere speciale în numele lor. De exemplu, un pas numit „StepName” este scris în M ca „StepName”.
  • Identificatori între ghilimele:
    Aceștia pot include spații, caractere speciale sau cuvinte rezervate în numele lor. De exemplu, un pas numit „Step Name” este scris în M ca #”Step Name”.

Pentru fiecare pas din panoul Applied Steps, există un pas corespunzător în Advanced Editor.

Așa cum observați, secțiunea Applied Steps oferă denumiri prietenoase, care descriu acțiunile efectuate de codul M. În timp ce primul pas, etichetat ca „Source”, corespunde codului M, pasul următor, etichetat ca „Navigation”, lipsește din codul M. Acest pas, de obicei generat automat de Power Query ca „Orders_table”, reprezintă o excepție de la acest model.

Examinând ceilalți pași, veți observa că denumirile lor seamănă foarte mult cu cele din panoul Pași aplicați, deși sunt încadrate în identificatori între ghilimele, precum #”Filtered Rows” și #”Removed Other Columns”, din cauza spațiilor din denumirile lor.

Un aspect important este că, după fiecare pas, cu excepția ultimului, trebuie să existe o virgulă.

Lasă un comentariu

Power BI Garage,

by Farima Denis

Conținutul acestui blog este rezultatul unei experiențe practice cu Power BI de peste 10 ani si a unei experiente didactice de peste 3 ani, în cadrul căreia am instruit peste 700 de cursanți, fiecare având un nivel diferit de înțelegere a modelării datelor și a conceptelor de Business Intelligence.

Let’s connect