Kako pravilno razširiti ugnezdene tabele v Power Query

vsebina

Recimo, da imamo Excelovo datoteko z več pametnimi tabelami:

Kako pravilno razširiti ugnezdene tabele v Power Query

Če te tabele naložite v Power Query na standardni način z ukazom Podatki – Pridobi podatke – Iz datoteke – Iz knjige (Podatki — Pridobi podatke — Iz datoteke — Iz delovnega zvezka), potem dobimo nekaj takega:

Kako pravilno razširiti ugnezdene tabele v Power Query

Mislim, da je slika znana mnogim uporabnikom Power Queryja. Podobne ugnezdene tabele lahko vidite po združevanju poizvedb (a la VLOOKUP), združevanju (ukaz Skupina z tab Preoblikovanje), uvoz vseh datotek iz dane mape itd.

Naslednji logični korak v tej situaciji je običajno razširitev vseh ugnezdenih tabel hkrati – z uporabo gumba z dvojnimi puščicami v glavi stolpca datum:

Kako pravilno razširiti ugnezdene tabele v Power Query

Kot rezultat dobimo sklop vseh vrstic iz vseh tabel v eno celoto. Vse je dobro, preprosto in jasno. 

Zdaj pa si predstavljajte, da je bil v izvorne tabele dodan nov stolpec (Popust) in/ali ena od obstoječih (Mesto) izbrisana:

Kako pravilno razširiti ugnezdene tabele v Power Query

Potem bo naša zahteva po posodobitvi vrnila ne tako lepo sliko - popust se ni pojavil, stolpec mesta pa je postal prazen, vendar ni izginil:

Kako pravilno razširiti ugnezdene tabele v Power Query

In enostavno je razumeti, zakaj – v vrstici s formulami lahko jasno vidite, da so imena razširjenih stolpcev trdo kodirana v argumentih funkcije Table.ExpandTableColumn kot seznami v zavitih oklepajih.

Temu problemu se je enostavno izogniti. Najprej pridobimo imena stolpcev iz glave katere koli (na primer prve) tabele s funkcijo Table.ColumnNames. Videti bo takole:

Kako pravilno razširiti ugnezdene tabele v Power Query

Tukaj:

  • #”Drugi stolpci odstranjeni” – ime predhodnega koraka, od koder črpamo podatke
  • 0 {} – številka tabele, iz katere izluščimo glavo (šteto od nič, tj. 0 je prva tabela)
  • [Podatki] – ime stolpca v prejšnjem koraku, kjer se nahajajo razširjene tabele

Ostaja, da zamenjamo konstrukcijo, pridobljeno v vrstici formule, v funkcijo Table.ExpandTableColumn pri koraku razširitve tabel namesto trdo kodiranih seznamov. Na koncu bi moralo vse izgledati takole:

Kako pravilno razširiti ugnezdene tabele v Power Query

To je vse. In ne bo več težav z razširitvijo ugnezdenih tabel, ko se izvorni podatki spremenijo.

  • Gradnja tabel z več formati iz enega lista v Power Query
  • Ustvarite tabele z različnimi glavami iz več Excelovih datotek
  • Zbiranje podatkov z vseh listov knjige v eno tabelo

 

Pustite Odgovori