Power Query sorgularını kullanma

Bu makale, Power BI Desktop ile çalışan bir veri modelleyicisi olarak sizi hedefler. Diğer sorgulara başvuran Power Query sorgularını tanımlarken size rehberlik sağlar.

Bunun ne anlama geldiğini açıklayalım: Sorgu ikinci bir sorguya başvurduğunda, ikinci sorgudaki adımlar ilk sorgudaki adımlarla birleştirilir ve daha önce çalıştırılır.

Birkaç sorgu düşünün: Query1 bir web hizmetinden veri kaynağı oluşturur ve yükü devre dışı bırakılır. Query2, Query3 ve Query4'in tümü Query1'e başvurur ve bunların çıkışları veri modeline yüklenir.

Diagram showing the Query Dependencies view, displaying queries described in the previous paragraph.

Veri modeli yenilendiğinde, Power Query'nin Query1 sonucunu aldığı ve başvuruda bulunan sorgular tarafından yeniden kullandığı varsayılır. Bu düşünce yanlış. Aslında, Power Query Query2, Query3 ve Query4'i ayrı olarak yürütür.

Query2'nin içine Query1 adımlarının eklendiğini düşünebilirsiniz. Query3 ve Query4 için de geçerlidir. Aşağıdaki diyagramda sorguların nasıl yürütülürken daha net bir resim gösterilmiştir.

Diagram showing a modified version of the Query Dependencies view, displaying Query 2, Query 3, and Query 4.

Query1 üç kez yürütülür. Birden çok yürütme, yavaş veri yenilemeye neden olabilir ve veri kaynağını olumsuz etkileyebilir.

Query1'deTable.Buffer işlevinin kullanılması ek veri alımını ortadan kaldırmaz. Bu işlev bir tabloyu belleğe arabelleğe alır ve arabelleğe alınan tablo yalnızca aynı sorgu yürütme içinde kullanılabilir. Bu nedenle örnekte Query2 yürütülürken Query1 arabelleğe alınırsa, Query3 ve Query4 yürütülürken arabelleğe alınan veriler kullanılamaz. Verileri iki kez daha arabelleğe alır. (Tablo başvuran her sorgu tarafından arabelleğe alınacağından bu sonuç aslında olumsuz performansı birleştirilebilir.)

Not

Power Query önbelleğe alma mimarisi karmaşıktır ve bu makalenin odağı değildir. Power Query bir veri kaynağından alınan verileri önbelleğe alabilir. Ancak bir sorgu yürütürken, veri kaynağındaki verileri birden çok kez alabilir.

Öneriler

Genel olarak, sorgularınız arasında mantığın çoğaltılmasını önlemek için sorgulara başvurmanızı öneririz. Ancak, bu makalede açıklandığı gibi, bu tasarım yaklaşımı yavaş veri yenilemelerine ve fazla veri kaynaklarına katkıda bulunabilir.

Bunun yerine bir veri akışı oluşturmanızı öneririz. Veri akışı kullanmak, veri yenileme süresini artırabilir ve veri kaynaklarınız üzerindeki etkiyi azaltabilir.

Kaynak verileri ve dönüşümleri kapsüllemek için veri akışını tasarlayabilirsiniz. Veri akışı, Power BI hizmeti kalıcı bir veri deposu olduğundan, veri alımı hızlıdır. Bu nedenle, sorgulara başvurulduğunda bile veri akışı için birden çok istekle sonuçlanır, veri yenileme süreleri geliştirilebilir.

Örnekte, Query1 bir veri akışı varlığı olarak yeniden tasarlandıysa, Query2, Query3 ve Query4 bunu veri kaynağı olarak kullanabilir. Bu tasarımla, Query1 tarafından kaynağı oluşturulan varlık yalnızca bir kez değerlendirilir.

Bu makaleyle ilgili daha fazla bilgi için aşağıdaki kaynaklara göz atın: