Załóżmy, że mamy plik Excela z kilkoma inteligentnymi tabelami:
Jeśli ładujesz te tabele do dodatku Power Query w standardowy sposób za pomocą polecenia Dane – Pobierz dane – Z pliku – Z książki (Dane — Pobierz dane — Z pliku — Ze skoroszytu), wtedy otrzymujemy coś takiego:
Myślę, że ten obraz jest znany wielu użytkownikom dodatku Power Query. Podobne tabele zagnieżdżone można zobaczyć po połączeniu zapytań (a la VLOOKUP), grupowaniu (polecenie Grupuj według Zakładka Transformacja), importowanie wszystkich plików z danego folderu itp.
Kolejnym logicznym krokiem w tej sytuacji jest zwykle rozwinięcie wszystkich zagnieżdżonych tabel jednocześnie – za pomocą przycisku z podwójnymi strzałkami w nagłówku kolumny Dane:
W rezultacie otrzymujemy zestaw wszystkich wierszy ze wszystkich tabel w jedną całość. Wszystko jest dobre, proste i jasne.
Teraz wyobraź sobie, że w tabelach źródłowych została dodana nowa kolumna (Rabat) i/lub jedna z istniejących (Miasto) została usunięta:
Wtedy nasza prośba po aktualizacji zwróci niezbyt piękny obrazek – rabat się nie pojawił, a kolumna miasta stała się pusta, ale nie zniknęła:
I łatwo zrozumieć, dlaczego – na pasku formuły wyraźnie widać, że nazwy rozszerzonych kolumn są na stałe zakodowane w argumentach funkcji Tabela.Rozwiń kolumnę tabeli jako listy w nawiasach klamrowych.
Obejście tego problemu jest łatwe. Najpierw pobierzmy nazwy kolumn z nagłówka dowolnej (na przykład pierwszej) tabeli za pomocą funkcji Tabela.Nazwy kolumn. Będzie to wyglądać tak:
Tutaj:
- #”Inne kolumny usunięte” – nazwa poprzedniego kroku, z którego pobieramy dane
- 0 {} – numer tabeli, z której wyciągamy nagłówek (licząc od zera, czyli 0 to pierwsza tabela)
- [Dane] – nazwa kolumny w poprzednim kroku, w której znajdują się rozwinięte tabele
Pozostaje podstawić konstrukcję uzyskaną w pasku formuły do funkcji Tabela.Rozwiń kolumnę tabeli na etapie rozwijania tabel zamiast list zakodowanych na stałe. Ostatecznie wszystko powinno wyglądać tak:
To wszystko. I nie będzie więcej problemów z rozwijaniem zagnieżdżonych tabel, gdy zmienią się dane źródłowe.
- Tworzenie tabel wieloformatowych z jednego arkusza w Power Query
- Twórz tabele z różnymi nagłówkami z wielu plików Excel
- Zbieranie danych ze wszystkich arkuszy księgi w jedną tabelę