Prezentare generală
Power BI este un instrument puternic pentru transformarea și vizualizarea datelor, dar task-urile repetitive pot încetini fluxurile de lucru. Funcțiile personalizate M în Power Query pot simplifica aceste procese, permițând transformări reutilizabile și dinamice.
Funcțiile personalizate M sunt blocuri de cod reutilizabile create în limbajul M al Power Query. Acestea iau parametri de intrare, îi procesează și returnează un rezultat. Sunt utile în special atunci când trebuie să aplicăm aceeași operațiune de mai multe ori asupra unui set de date.
Pași pentru crearea unei funcții M personalizate
Pasul 1: Configurarea interogării
Începem prin încărcarea datelor în Power BI și conectarea la un tabel. Vom folosi un exemplu cu vânzări exprimate în mai multe unități de măsură, care trebuie convertite în litri.
- Deschideți Power BI și conectați-vă la setul de date.
- Navigați la Transform Data pentru a accesa Power Query Editor.

Pasul 2: Crearea unei interogări goale
Pentru a construi funcția personalizată:
- În Power Query Editor, navigați la Home > New Source > Blank Query.
- Se va deschide o interogare nouă, pe care o vom transforma într-o funcție personalizată.

Pasul 3: Scrierea codului funcției
- Redenumiți interogarea la un nume semnificativ, cum ar fi:
ConvertToLitres - Deschideți Advanced Editor:
- Faceți clic dreapta pe interogarea goală
- Selectați Advanced Editor
- Scrieți codul funcției în fereastra Advanced Editor.

Definiți funcția utilizând sintaxa M. O funcție începe cu operatorul () =>, specificând parametrii de intrare și operațiile acestora.
Mai jos un exemplu de functie:
(volume as number, UoM as text) =>
volume
* (
if UoM = "litre" then
1
else if UoM = "gallon" then
3.785
else if UoM = "pint" then
0.4731
else if UoM = "barrel" then
158.987
else
0
)
Această funcție primește 2 inputuri: volumul și unitatea de măsură și transformă diferitele moduri de măsurare a volumului în litri.
Pasul 4: Testarea funcției
După ce ați scris funcția:
- Apelați funcția furnizând valori de intrare:
- Introduceți valori pentru volum și unitatea de măsură, de exemplu 10 pentru valoare și „pint” pentru UoM
- Apăsați butonul Invoke

Asigurați-vă că adăugați „pint” cu litere mici, deoarece Power Query / M este sensibil la majuscule, iar în funcție ne-am referit la aceasta cu litere mici.
Funcția va genera o nouă interogare care va returna 4.731 (0.4732 × 10).

Pasul 5: Utilizarea funcției într-o coloană
Apelarea manuală a funcției cu inputuri individuale de fiecare dată poate fi ineficientă și nepractică. O abordare mai eficientă este să aplicăm funcția ca o coloană nouă într-un tabel, permițând procesarea tuturor rândurilor dintr-un singur pas.
Această metodă permite calculul dinamic al valorilor pentru fiecare rând al tabelului, optimizând procesul și făcându-l mult mai eficient.
Pentru a aplica funcția personalizată la tabel:
- Selectați tabelul în Power Query.
- Adăugați o nouă coloană personalizată:
- Navigați la Add Column > Invoke Custom Function.

- Denumiți coloana (de exemplu, „Volume in Litres”).
- Selectați funcția pe care doriți să o apelați.
- Adăugați coloana Value pentru parametrul „value”.
- Adăugați coloana UoM pentru parametrul „UoM”.

Faceți clic pe OK pentru a calcula valorile pentru fiecare rând.

Beneficii ale funcțiilor personalizate
- Reutilizare: Scrieți o singură dată, folosiți de mai multe ori.
- Consistență: Aplicați aceeași logică de transformare pe întregul set de date.
- Eficiență: Reduceți repetițiile manuale pentru operațiuni complexe.
Lasă un comentariu