Combinarea tabelelor (Merge Queries)

Sunt încântat să vă arăt cum putem să unim conținutul a două tabele în Power Query.

Utilizând acest puternic instrument, putem realiza căutari și completări de date în interogările Power Query.

Astfel, operația de transformare numită Merge Queries va înlocui cu succes funcția VLOOKUP din Excel.

Combinarea tabelelor (Merge Queries)

În exemplul de față avem o lista care conține trei produse distincte reprezentând telefoane mobile. Dorim să înlocuim caracteristicile sub formă de indice cu denumirile lor reale.

Produse sunt descrise prin caracteristicile lor și anume tipul de casetă SIM memoria internă exprimată în GB și de asemenea memoria RAM exprimată în GB.

Toate aceste trei categorii de caracteristici sunt descrise în clar după cum se observă, spre deosebire de coloana culoarea care cuprinde doar indicele de culoare acesta fiind descris în foaia de calcul cu denumirea Culoare, indicele 1 reprezentând culoarea Black, indicele 2 reprezentând culoarea Silver.

Din punct de vedere al organizării setului de date nu este bine să nu creăm relații în cascadă și de aceea este necesar să completăm culuarea pe coloana Culoare, astfel încât să avem un singur tabel cu toate caracteristicile produselor respective.

Deci, în concluzie cerințele sunt următoarele: în lista de produse, culoarea produselor este completată sub forma de indice și va trebui adusă cumva denumirea lor.

Normal acest lucru, în Excel, se face aplicând funcția VLOOKUP pe o coloană suplimentară.
Dar în acest caz vom aplica o altă metodă și anume vom transforma în tabele inteligente cele două seturi de date din foile de calcul Listă Produse și Culoare.

Apoi, trecând în Power Query, vom importa aceste tabele și vom putea face această operație, aceea de completare a culorii, fără să mai folosim coloane suplimentare în Excel și de asemenea fără să mai utilizăm formule.

Pentru aceasta vom aplica operația denumită Merge Queries, adică unirea mai multor interogări. Avem coloane comune în cele două tabele și le vom utiliza pentru a aduce informația necesară.

Haideți să vedem cât de ușor se poate face această operație.

Mergem în foaia de calcul Lista Produse, selectăm o celulă din setul de date cu caracteristicile produselor și apăsăm combinația de taste Ctrl+T, acesta permițând transformarea acestui set de date în tabel inteligent.

Apăsăm OK în caseta de dialog și observăm crearea tabelului.

Cu o celulă selectată, mergem în tab-ul Table Design și, în caseta Table Name vom da un nume sugestiv acestei acestui tabel.

Îl vom denumi ListaProduse și apăsăm Enter pentru a salva această denumire.

Atenție că denumirea tabelului se supune acelorași restricții ca și denumirea de range-uri din Excel și anume nu trebuie să conțină spații sau caractere speciale, singurul caracter special permis fiind underscore.

Facem același lucru și în foaia de calcul Culoare și anume selectăm o celulă din setul de date, apăsăm combinația de taste Ctrl+T pentru a transforma acest set de date în tabel inteligent și în caseta Table Name vom scrie culoare și apăsăm de asemenea Enter pentru validarea acestui nume.

Urmează să importăm în Power Query aceste tabele și anume, în tab-ul Data, grupul Get & Transform Data, vom alege opțiunea From Table/Range.

Aceste date fiind transformate deja în tabel, nu se mai face nicio operație suplimentară și, în momentul în care datele vor apărea, vom vedea direct denumirea tabelului transpusă acestei interogări.

Iată setul de date importat și de asemenea denumirea interogări listă produse exact aceeași ca și denumirea tabelului.

Vom încheia această operație prin apăsarea pe lista derulantă Close & Load și alegem opțiunea Close & Load To…, iar în caseta de dialog Import Data vom selecta opțiunea Only Create Connection.

Obținem astfel o interogare pentru care am optat pentru crearea unei conexiuni deocamdată.

Trecem în foaia de calcul Culoare și facem același lucru cu tabelul de aici: alegem Data/Get & Transform/From Table/Range.

Datele importante apar în interfața Power Query Editor și încheiem această activitate, de asemenea, cu Close & Load alegând opțiunea Close & Load To…

De asemenea Only Create Connection este opțiunea pe care o vom alege și apăsat butonul OK.

Conexiunea se creează generând o a doua interogare. Din panoul de conexiuni, putem să deschidem una din interogări, și anume Lista Produse, apăsând Click-dreapta pe acesta și alegând de aici opțiunea Edit.

Așa cum spuneam un pic mai devreme, va trebui să înlocuim în coloana Culoare informația despre culoarea scrisă în clar.

Pentru aceasta, vom merge în tab-ul Home și, în grupul Combine, vom derula lista Merge Queries.

Aici avem două opțiuni și anume opțiunea Merge Queries, ce permite unirea coloanelor dintr-o altă interogare cu interogarea activă, modificarea creându-se aici în interogarea curentă, sau obținea a doua, crearea unei interogări noi de unire, Merge Queries as New.

Vom alege această a doua opțiune și în caseta de dialog Merge va trebui să completăm informațiile necesare pentru această unire.

În partea de sus observăm tabelul Lista Produse, pentru care vom selecta coloana de legătură care este indicele de culoare.

În partea a doua, va trebui să selectăm cealaltă interogare denumită Culoare și de asemenea, și aici va trebui să selectăm coloana de legătură.

Observăm aici că nu este obligatoriu ca cele două coloane de legătură să aibă exact aceeași denumire.
In partea de jos, pe ultima linie, avem informația că există douăsprezece rânduri care au corespondență atât în primul tabel cât și în cel de-al doilea

Apăsăm butonul OK.

Informațiile din cea de-a doua interogare apar într-o singură coloana pe care va trebui să o expandăm apăsând pe butonul din dreapta sus a acestei coloane.

Vom păstra doar informația despre culoare, debifând ID_Culoare și apăsăm butonul OK pentru a închide această caseta.

Observăm culorile aferente indicilor din coloana culoare apărute în coloana rămasă.

Vom selecta coloana Culoare din tabelul inițial și o vom îndepărta cu ajutorul opțiunii Remove.

Vom modifica, de asemenea, denumirea acestei coloane astfel încât să reflecte informația de care avem nevoie.

Ce mai trebuie să facem este să ne asiguram că datele vor fi sortate în ordinea dorită și anume dorim o sortare ascendentă după memorie, o sortare descendentă după tipul de cartelă SIM și, de asemenea, o sortare ascendentă după numele produsului astfel încât produsul să fie în ordine alfabetică iar informațiile Single și Dual să fie în ordinea inversă.

Încheiem această activitate cu Close & Load și opțiunea Close & Load To… și, de această dată, în caseta Import Data, vom alege opțiunea Table, într-o nouă foaie de calcul (New worksheet). Apăsăm apoi butonul OK.

Se creează, după cum observați, foaia de calcul Sheet2 pe care o mutăm la sfârșit o denumim Produse și mai mai putem ajusta, dacă este cazul sortarea și anume sortare ascendentă după produse astfel încât produsele să fie în ordine alfabetică.

Rețineți că Power Query oferă posibilitatea combinării coloanelor în vererea completării datelor lipsă, o facilitate foarte importantă pentru prelucrările ulterioare.

Vă mulțumesc pentru vizionare și vă aștept la o nouă lecție.

RESURSE ARTICOL

Puteți descărca fișierul cu exemplele din acest articol.

INVĂȚAȚI EXCEL CU DR.EXCEL!

Cursuri Excel/VBA/BI pentru toate categoriile de utilizatori

de la incepători la experți

AVEȚI ÎNTREBĂRI TEHNICE EXCEL, VBA, SQL, BI?

intrebari

Alăturați-vă celor 12.000 de membri ai Comunității Dr.Excel!