Cara mengembangkan jadual bersarang dalam Power Query dengan betul

Contents [show]

Katakan kita mempunyai fail Excel dengan beberapa jadual pintar:

Cara mengembangkan jadual bersarang dalam Power Query dengan betul

Jika anda memuatkan jadual ini ke dalam Power Query dengan cara standard menggunakan arahan Data – Dapatkan data – Dari fail – Dari buku (Data — Dapatkan Data — Dari fail — Dari Buku Kerja), maka kita mendapat sesuatu seperti ini:

Cara mengembangkan jadual bersarang dalam Power Query dengan betul

Gambar itu, saya rasa, biasa kepada ramai pengguna Power Query. Jadual bersarang yang serupa boleh dilihat selepas menggabungkan pertanyaan (a la VLOOKUP), mengumpulkan (arahan Kumpulan oleh tab Transformasi), mengimport semua fail dari folder tertentu, dsb.

Langkah logik seterusnya dalam situasi ini biasanya untuk mengembangkan semua jadual bersarang sekaligus - menggunakan butang dengan anak panah berganda dalam pengepala lajur Tarikh:

Cara mengembangkan jadual bersarang dalam Power Query dengan betul

Hasilnya, kami mendapat himpunan semua baris daripada semua jadual menjadi satu keseluruhan. Semuanya bagus, ringkas dan jelas. 

Sekarang bayangkan bahawa lajur baharu (Diskaun) telah ditambahkan dalam jadual sumber dan/atau salah satu daripada yang sedia ada (Bandar) telah dipadamkan:

Cara mengembangkan jadual bersarang dalam Power Query dengan betul

Kemudian permintaan kami selepas kemas kini akan mengembalikan gambar yang tidak begitu cantik – diskaun tidak muncul, dan lajur bandar menjadi kosong, tetapi tidak hilang:

Cara mengembangkan jadual bersarang dalam Power Query dengan betul

Dan adalah mudah untuk melihat sebabnya – dalam bar formula anda boleh melihat dengan jelas bahawa nama lajur yang dikembangkan dikodkan keras dalam argumen fungsi Jadual.ExpandTableColumn sebagai senarai dalam kurungan kerinting.

Mengatasi masalah ini adalah mudah. Mula-mula, mari dapatkan nama lajur daripada pengepala mana-mana (contohnya, jadual pertama) menggunakan fungsi Jadual.Nama Lajur. Ia akan kelihatan seperti:

Cara mengembangkan jadual bersarang dalam Power Query dengan betul

Di sini:

  • #”Lajur lain dialih keluar” – nama langkah sebelumnya, tempat kami mengambil data
  • 0 {} – bilangan jadual dari mana kita mengekstrak pengepala (mengira dari sifar, iaitu 0 ialah jadual pertama)
  • [Data] – nama lajur dalam langkah sebelumnya, di mana jadual dikembangkan terletak

Ia kekal untuk menggantikan pembinaan yang diperoleh dalam bar formula ke dalam fungsi Jadual.ExpandTableColumn pada langkah mengembangkan jadual dan bukannya senarai berkod keras. Ia sepatutnya kelihatan seperti ini pada akhirnya:

Cara mengembangkan jadual bersarang dalam Power Query dengan betul

Itu sahaja. Dan tidak akan ada lagi masalah dengan mengembangkan jadual bersarang apabila data sumber berubah.

  • Membina jadual berbilang format daripada satu helaian dalam Power Query
  • Bina jadual dengan pengepala berbeza daripada berbilang fail Excel
  • Mengumpul data daripada semua helaian buku ke dalam satu jadual

 

Sila tinggalkan balasan anda