Power Query'de iç içe geçmiş tablolar nasıl doğru şekilde genişletilir?

İçerik

Diyelim ki birkaç akıllı tablo içeren bir Excel dosyamız var:

Power Query'de iç içe geçmiş tablolar nasıl doğru şekilde genişletilir?

Bu tabloları şu komutu kullanarak standart şekilde Power Query'ye yüklerseniz Veri – Veri al – Dosyadan – Kitaptan (Veri — Veri Al — Dosyadan — Çalışma Kitabından), sonra şöyle bir şey elde ederiz:

Power Query'de iç içe geçmiş tablolar nasıl doğru şekilde genişletilir?

Resim, sanırım birçok Power Query kullanıcısına tanıdık geliyor. Benzer iç içe tablolar, sorguları birleştirdikten (bir DÜŞEYARA), gruplandırmadan (komut Tarafından gruba göre çıkıntı Dönüşüm), belirli bir klasördeki tüm dosyaları içe aktarma vb.

Bu durumda bir sonraki mantıklı adım, genellikle tüm iç içe geçmiş tabloları bir kerede genişletmektir – sütun başlığındaki çift oklu düğmeyi kullanarak Veri:

Power Query'de iç içe geçmiş tablolar nasıl doğru şekilde genişletilir?

Sonuç olarak, tüm tablolardan tüm satırların tek bir bütün halinde birleştirilmesini elde ederiz. Her şey iyi, basit ve net. 

Şimdi, kaynak tablolara yeni bir sütunun (İndirim) eklendiğini ve/veya mevcut olanlardan birinin (Şehir) silindiğini hayal edin:

Power Query'de iç içe geçmiş tablolar nasıl doğru şekilde genişletilir?

Ardından güncellemeden sonraki isteğimiz çok güzel olmayan bir resim getirecek - indirim görünmedi ve şehir sütunu boşaldı, ancak kaybolmadı:

Power Query'de iç içe geçmiş tablolar nasıl doğru şekilde genişletilir?

Ve nedenini görmek kolaydır – formül çubuğunda, genişletilmiş sütunların adlarının işlev bağımsız değişkenlerinde kodlanmış olduğunu açıkça görebilirsiniz. Table.ExpandTableColumn küme parantezleri içindeki listeler olarak.

Bu sorunu aşmak kolaydır. İlk olarak, işlevi kullanarak herhangi bir (örneğin, ilk) tablonun başlığından sütun adlarını alalım. Table.ColumnNames. Şuna benzeyecek:

Power Query'de iç içe geçmiş tablolar nasıl doğru şekilde genişletilir?

İşte:

  • #”Diğer sütunlar kaldırıldı” – verileri aldığımız önceki adımın adı
  • 0 {} – başlığını çıkardığımız tablonun numarası (sıfırdan sayma, yani 0 ilk tablodur)
  • [Veri] – önceki adımdaki genişletilmiş tabloların bulunduğu sütunun adı

Formül çubuğunda elde edilen yapıyı işleve koymaya devam eder. Table.ExpandTableColumn sabit kodlanmış listeler yerine tabloları genişletme adımında. Sonunda her şey şöyle görünmelidir:

Power Query'de iç içe geçmiş tablolar nasıl doğru şekilde genişletilir?

Bu kadar. Ve kaynak veriler değiştiğinde iç içe geçmiş tabloların genişletilmesinde artık sorun olmayacak.

  • Power Query'de tek bir sayfadan çok biçimli tablolar oluşturma
  • Birden çok Excel dosyasından farklı başlıklara sahip tablolar oluşturun
  • Kitabın tüm sayfalarından verileri tek bir tabloda toplama

 

Yorum bırak