În Power Query, există două categorii principale de obiecte (valori):
Primitive: Aceste valori cuprind tipuri de date de bază precum binar, dată, datetime, datetimezone, durată, logic, null, număr, text și timp.
Structurate: Aceste valori sunt reprezentate cu fonturi colorate și includ tipuri precum tabel, listă, înregistrare și funcție. Valorile structurate sunt compuse din combinații de valori primitive.

Valorile structurate sunt esențiale pentru a efectua operații care implică rânduri, coloane sau alte aspecte complexe, care nu pot fi realizate exclusiv cu valorile primitive.
Tabele
Un „Tabel” în Power Query este o valoare structurată ce cuprinde rânduri, coloane și metadate, precum numele coloanelor și tipurile lor de date corespunzătoare. Tabelele sunt întâlnite frecvent în Power Query și sunt preferate pentru simplitatea și ușurința de manipulare.

Când facem clic pe celula în care este afișat textul verde „Table”, dar nu pe textul propriu-zis, se afișează previzualizarea conținutului tabelului în partea de jos a ferestrei Power Query.
Datele conținute într-un tabel vor avea rânduri și coloane (chiar dacă nu putem garanta că există deja un rând de antet).
Liste
Prezentare generală
Valorile „List” din Power Query sunt extrem de versatile și utile, adesea necesare pentru a valorifica unele dintre cele mai puternice funcții ale Power Query. Spre deosebire de valorile tabel, listele constau întotdeauna dintr-o singură coloană de date când sunt vizualizate. Dacă asociați o listă cu lista dvs. de cumpărături, practic aceasta conține numele articolelor pe care intenționați să le cumpărați. (Gândiți-vă la o listă ca la o singură coloană a unui tabel fără antet.) Odată ce începeți să includeți comparații de prețuri între diferite magazine, treceți de la o listă la un tabel.
În Power Query, o listă este notată cu acolade, fiecare element al listei fiind separat prin virgule. Elementele textuale trebuie să fie închise între ghilimele, similar formulelor din Excel.
={1,2,3,4,5,6,7,8,9,10}
={"A","B","C","D"}
Listele nu sunt limitate doar la valori numerice; ele pot conține un amestec de orice tip de date, inclusiv alte liste:
={1,465,"M","Data Monkey",{999,234}}
Punctele cheie de reținut sunt că elementele din listă sunt separate prin virgule și fiecare listă este înconjurată de acolade.
Crearea unei liste de valori de la 1 la 100
Putem crea, de asemenea, liste consecutive folosind M:
- New Source –> Blank Query
- În bara de formule scrie: ={1..100}

Conversia unei liste într-un tabel
După cum se observă în panoul Query, listele au propria lor pictogramă.

Și nu toate transformările sunt disponibile pentru ele (de exemplu, Split Columns, deoarece o listă poate avea doar o coloană). Pentru a putea efectua toate operațiunile, trebuie să transformăm lista într-un tabel.
Pentru a face acest lucru:
- Selectați lista
- Accesați List Tools / Transform
- Faceți clic pe Convert / To Table
- Selectați delimitatorul și modul de gestionare a coloanelor
- Apăsați OK

Conversia coloanelor unui tabel într-o listă
Uneori, este posibil să aveți nevoie să extrageți date dintr-o singură coloană a interogării și să le convertiți într-o listă. De exemplu, dacă doriți să obțineți o listă unică de ID-uri de comenzi, puteți elimina toate celelalte coloane, apoi elimina duplicatele folosind fila Transform. Totuși, această abordare păstrează datele în format tabel, limitându-le utilizabilitatea în funcții. În schimb, pentru a obține flexibilitate și a facilita integrarea în funcții, este preferabil să obțineți elementele unice sub formă de listă.
Pentru a realiza acest lucru:
- Faceți clic dreapta pe coloana Order ID
- Selectați Drill Down
- În fila List Tools / Transform, selectați „Remove Duplicates”

Listă de liste
Este posibil să avem o listă de liste. Să creăm una.
Creăm o interogare nouă goală.
În bara de formule, introducem următorul cod:
={ {1,"Jan"}, {2,"Feb"}, {3,"Mar"}, {4,"Apr"}, {5,"May"}, {6,"Jun"}, {7,"Jul"}, {8,"Aug"}, {9,"Sep"}, {10,"Oct"}, {11,"Nov"}, {12,"Dec"} }

Dacă convertim această listă de liste într-un tabel și o extindem, obținem un tabel cu o singură coloană (toate listele sunt adăugate într-o singură coloană).

Dacă dorim să extragem un tabel cu coloane separate, trebuie să utilizăm funcția Table.FromRows().

Records (Inregistrari)
Valorile de tip „List” din Power Query seamănă cu o singură coloană verticală de date, în timp ce valorile de tip „Record” reprezintă echivalentele lor orizontale, cu mai multe coloane. Imaginați-vă o înregistrare ca un tabel condensat cu un singur rând, care cuprinde toate detaliile relevante despre un client sau o tranzacție.
Înregistrările pot exista în coloanele unui tabel sau în liste în timpul extragerii datelor și pot fi generate dinamic, după necesitate, în Power Query.
Crearea unei înregistrări
Înregistrările aduc o complexitate mai mare comparativ cu listele, deoarece necesită definirea numelor coloanelor pe lângă valori. Luați în considerare următoarea sintaxă:
=[Month Name Short="Jan", Month Name Long="January", Month No="Canada"]
Elementele cheie ale sintaxei includ:
- Paranteze pătrate care înconjoară fiecare înregistrare completă.
- Fiecare câmp al înregistrării (coloană) este denumit și urmat de caracterul =.
- Datele pentru fiecare câmp sunt apoi furnizate, cu datele textuale încadrate între ghilimele.
- Separarea prin virgulă între fiecare nume de câmp și perechea sa de date corespunzătoare.

Crearea unei liste de records (inregistrari)
Ce se întâmplă dacă avem nevoie să creăm mai multe înregistrări? Este simplu: creăm o listă de înregistrări.
=
{
[Month Name Short="Jan", Month Name Long="January", Month No=1],
[Month Name Short="Feb", Month Name Long="February", Month No=2],
[Month Name Short="Mar", Month Name Long="March", Month No=3],
[Month Name Short="Apr", Month Name Long="April", Month No=4],
[Month Name Short="May", Month Name Long="May", Month No=5],
[Month Name Short="Jun", Month Name Long="June", Month No=6],
[Month Name Short="Jul", Month Name Long="July", Month No=7],
[Month Name Short="Aug", Month Name Long="August", Month No=8],
[Month Name Short="Sep", Month Name Long="September", Month No=9],
[Month Name Short="Oct", Month Name Long="October", Month No=10],
[Month Name Short="Nov", Month Name Long="November", Month No=11],
[Month Name Short="Dev", Month Name Long="December", Month No=12]
}

Acum, dacă încercăm să încărcăm aceste date în PowerBI (apasând butonul Close & Apply), putem observa că listele de înregistrări nu pot fi consumate în PowerBI. Tabelul importat va conține doar câteva rânduri care afișează șirul „Record”.

Având în vedere utilitatea limitată a înregistrărilor în Power BI, să continuăm convertindu-le într-un tabel pentru a explora mai departe.
- Navigați la Transform → Convert → To Table
- Selectați butonul Expand image.png

Conversia tabelului în înregistrări
Când avem nevoie să transformăm fiecare rând al tabelului într-o înregistrare, vom urma acești pași:
- Navigați la Add Column → Add Index Column → From 0
- (Opțional) Redenumiți pasul de la „1.” la „AddedIndex” (eliminați spațiul): faceți clic dreapta pe pas → Rename → Schimbați numele.

3. Accesați Add Column -> Add Custom Column
4. Utilizați următoarea formulă: AddedIndex{[Index]}

Valori
Atunci când lucrați cu surse de date relaționale, cum ar fi OData sau baze de date, este posibil să întâlniți coloane etichetate „Values”. Acest tip de structură apare în anumite circumstanțe specifice. Pentru a putea observa acest lucru, trebuie să existe o relație definită între cheia primară și cheia externă a tabelelor din sursa de date relațională. Interesant este că un „Value” reprezintă, de fapt, formatul în care o bază de date returnează o înregistrare. Odată identificate, gestionarea acestor valori se realizează în același mod ca și manipularea altor tipuri de date conexe.

Binare
În Power Query, fișierele sunt prezentate ca valori de tip „Binary”. Aceste fișiere conțin date care pot fi accesate prin conectorii Power Query, ce interpretează și afișează conținutul fișierului. De exemplu, puteți interpreta un fișier binar ca un registru de lucru Excel, fișier CSV/TXT, fișier JSON, fișier XML, fișier PDF, pagină web etc.
Lasă un comentariu