A beágyazott táblák helyes kibontása a Power Queryben

tartalom

Tegyük fel, hogy van egy Excel-fájlunk több intelligens táblával:

A beágyazott táblák helyes kibontása a Power Queryben

Ha ezeket a táblákat szabványos módon, a paranccsal tölti be a Power Querybe Adatok – Adatok lekérése – Fájlból – Könyvből (Adatok — Adatok lekérése — Fájlból — Munkafüzetből), akkor valami ilyesmit kapunk:

A beágyazott táblák helyes kibontása a Power Queryben

Azt hiszem, a kép sok Power Query-felhasználó számára ismerős. Hasonló beágyazott táblák láthatók a lekérdezések kombinálása (a la VLOOKUP), csoportosítás (parancs Csoportosít lap Átalakítás), az összes fájl importálása egy adott mappából stb.

A következő logikus lépés ebben a helyzetben általában az összes beágyazott tábla egyidejű kibontása – az oszlopfejlécben található dupla nyíl gombbal dátum:

A beágyazott táblák helyes kibontása a Power Queryben

Ennek eredményeként az összes tábla összes sorának összeállítását egyetlen egésszé kapjuk. Minden jó, egyszerű és világos. 

Most képzelje el, hogy egy új oszlopot (Kedvezmény) adtak hozzá a forrástáblázatokhoz, és/vagy a meglévők egyikét (Város) törölték:

A beágyazott táblák helyes kibontása a Power Queryben

Ekkor a frissítés utáni kérésünk egy nem túl szép képet ad vissza – a kedvezmény nem jelent meg, a város oszlop pedig kiürült, de nem tűnt el:

A beágyazott táblák helyes kibontása a Power Queryben

És könnyen belátható, hogy miért – a képletsorban jól látható, hogy a kibontott oszlopok nevei a függvény argumentumában vannak kódolva. Table.ExpandTableColumn mint a göndör zárójelben lévő listák.

Ezt a problémát könnyű megkerülni. Először is vegyük le az oszlopneveket bármely (például az első) tábla fejlécéből a függvény segítségével Táblázat.Oszlopnevek. Így fog kinézni:

A beágyazott táblák helyes kibontása a Power Queryben

Itt:

  • #"További oszlopok eltávolítva" – az előző lépés neve, ahonnan az adatokat vesszük
  • 0 {} – annak a táblának a száma, amelyből a fejlécet kinyerjük (nullától számolva, azaz 0 az első tábla)
  • [Adat] – az előző lépésben szereplő oszlop neve, ahol a kibontott táblák találhatók

Marad a képletsávban kapott konstrukció behelyettesítése a függvénybe Table.ExpandTableColumn a kemény kódolt listák helyett a táblák kibontásának lépésében. Mindennek így kell kinéznie a végén:

A beágyazott táblák helyes kibontása a Power Queryben

Ez minden. És nem lesz többé probléma a beágyazott táblák kibontásával, amikor a forrásadatok megváltoznak.

  • Több formátumú táblázatok készítése egy lapból a Power Queryben
  • Hozzon létre táblázatokat különböző fejlécekkel több Excel-fájlból
  • Adatgyűjtés a könyv összes lapjáról egy táblázatba

 

Hagy egy Válaszol