Cum să extindeți corect tabelele imbricate în Power Query

Cuprins

Să presupunem că avem un fișier Excel cu mai multe tabele inteligente:

Cum să extindeți corect tabelele imbricate în Power Query

Dacă încărcați aceste tabele în Power Query în mod standard folosind comanda Date – Obține date – Din fișier – Din carte (Date — Obține date — Din fișier — Din registru de lucru), atunci obținem ceva de genul acesta:

Cum să extindeți corect tabelele imbricate în Power Query

Imaginea, cred, este familiară multor utilizatori Power Query. Tabelele imbricate similare pot fi văzute după combinarea interogărilor (la VLOOKUP), gruparea (comandă A se grupa cu fila Transformare), importând toate fișierele dintr-un folder dat etc.

Următorul pas logic în această situație este de obicei extinderea tuturor tabelelor imbricate simultan - folosind butonul cu săgeți duble din antetul coloanei Date:

Cum să extindeți corect tabelele imbricate în Power Query

Ca rezultat, obținem un ansamblu de toate rândurile din toate tabelele într-un singur întreg. Totul este bun, simplu și clar. 

Acum imaginați-vă că o nouă coloană (Reducere) a fost adăugată în tabelele sursă și/sau una dintre cele existente (Oraș) a fost șters:

Cum să extindeți corect tabelele imbricate în Power Query

Apoi, cererea noastră după actualizare va returna o imagine nu atât de frumoasă – reducerea nu a apărut, iar coloana orașului a devenit goală, dar nu a dispărut:

Cum să extindeți corect tabelele imbricate în Power Query

Și este ușor de înțeles de ce – în bara de formule puteți vedea clar că numele coloanelor extinse sunt codificate în argumentele funcției Table.ExpandTableColumn ca liste între paranteze.

Este ușor să ocoliți această problemă. Mai întâi, să obținem numele coloanelor din antetul oricărui tabel (de exemplu, primul) folosind funcția Table.ColumnNames. Va arata ca:

Cum să extindeți corect tabelele imbricate în Power Query

Aici:

  • #”Alte coloane eliminate” – numele pasului anterior, de unde luăm datele
  • 0 {} – numărul tabelului din care extragem antetul (numărând de la zero, adică 0 este primul tabel)
  • [Date] – numele coloanei din pasul anterior, unde se află tabelele extinse

Rămâne să înlocuim construcția obținută în bara de formule în funcție Table.ExpandTableColumn la pasul de a extinde tabelele în loc de liste hard-coded. Totul ar trebui să arate astfel:

Cum să extindeți corect tabelele imbricate în Power Query

Asta e tot. Și nu vor mai fi probleme cu extinderea tabelelor imbricate atunci când datele sursă se schimbă.

  • Construirea de tabele multiformat dintr-o singură foaie în Power Query
  • Creați tabele cu anteturi diferite din mai multe fișiere Excel
  • Colectarea datelor din toate foile cărții într-un singur tabel

 

Lasă un comentariu