Aracılığıyla paylaş


Karmaşık veri akışları tasarlamaya ve geliştirmeye yönelik en iyi yöntemler

Geliştirmekte olduğunuz veri akışı giderek daha karmaşık hale geliyorsa, özgün tasarımınızı geliştirmek için yapabileceğiniz bazı işlemler şunlardır.

Birden çok veri akışına bölme

Her şeyi tek bir veri akışında yapmayın. Tek ve karmaşık bir veri akışı, veri dönüştürme işleminin daha uzun sürmesini sağlamakla kalmaz, aynı zamanda veri akışının anlaşılmasını ve yeniden kullanılmasını da zorlaştırır. Veri akışınızı birden çok veri akışına bölmek, farklı veri akışlarındaki tabloları, hatta bir tabloyu birden çok veri akışına ayırarak yapılabilir. Bir veri akışında dönüşümün bir bölümünü oluşturmak ve diğer veri akışlarında yeniden kullanmak için hesaplanan tablo veya bağlı tablo kavramını kullanabilirsiniz.

Hazırlama/ayıklama veri akışlarından veri dönüştürme veri akışlarını bölme

Bazı veri akışlarının yalnızca verileri ayıklamak (başka bir ifadeyle veri akışlarını hazırlama) ve bazılarını yalnızca verileri dönüştürmek için bulundurmak yalnızca çok katmanlı mimari oluşturmak için değil, veri akışlarının karmaşıklığını azaltmaya da yardımcı olur. Veri alma, gezinti ve veri türü değişiklikleri gibi bazı adımlar yalnızca veri kaynağından veri ayıklamaktır. Hazırlama veri akışlarını ve dönüştürme veri akışlarını ayırarak veri akışlarınızın geliştirilmesini kolaylaştırırsınız.

Multilayered dataflow architecture.

Tabloların Dataverse veya Azure Data Lake storage'da depolandığı bir veri kaynağından hazırlama veri akışlarına ayıklanan verileri gösteren görüntü. Ardından veriler, verilerin dönüştürüldüğü ve veri ambarı yapısına dönüştürüldüğü dönüştürme veri akışlarına taşınır. Ardından veriler anlam modeline taşınır.

Özel işlevleri kullanma

Özel işlevler, farklı kaynaklardan gelen bir dizi sorgu için belirli sayıda adımın gerçekleştirilebilir olduğu senaryolarda yararlıdır. Özel işlevler, Power Query Düzenleyicisi'daki grafik arabirim aracılığıyla veya bir M betiği kullanılarak geliştirilebilir. İşlevler bir veri akışında gerektiği kadar çok tabloda yeniden kullanılabilir.

Özel bir işleve sahip olmak, kaynak kodun yalnızca tek bir sürümüne sahip olmanıza yardımcı olur, böylece kodu yinelemeniz gerekmez. Sonuç olarak, Power Query dönüştürme mantığını ve veri akışının tamamını korumak çok daha kolaydır. Daha fazla bilgi için şu blog gönderisine gidin: Power BI Desktop'ta Özel İşlevler Kolay Hale Getirildi.

Screenshot of the Queries pane with the Get Holidays custom function and its data emphasized.

Not

Bazen özel bir işlevle veri akışını yenilemek için premium kapasite gerektiğini bildiren bir bildirim alabilirsiniz. Bu iletiyi yoksayabilir ve veri akışı düzenleyicisini yeniden açabilirsiniz. İşleviniz bir "yük etkin" sorgusuna başvuruda bulunmadığı sürece bu genellikle sorununuzu çözer.

Sorguları klasörlere yerleştirme

Sorgular için klasörlerin kullanılması, ilgili sorguları birlikte gruplandırmaya yardımcı olur. Veri akışını geliştirirken, sorguları anlamlı klasörlerde düzenlemek için biraz daha fazla zaman ayırın. Bu yaklaşımı kullanarak, gelecekte sorguları daha kolay bulabilirsiniz ve kodu korumak çok daha kolaydır.

Hesaplanan tabloları kullanma

Hesaplanan tablolar veri akışınızı daha anlaşılır hale getirmekle kalmadı, aynı zamanda daha iyi performans sağlar. Hesaplanan tablo kullandığınızda, bu tablodan başvurulan diğer tablolar "zaten işlenmiş ve depolanmış" bir tablodan veri alır. Dönüşüm çok daha basit ve daha hızlıdır.

Gelişmiş işlem altyapısından yararlanın

Power BI yönetici portalında geliştirilen veri akışları için, diğer tür dönüştürmeleri yapmadan önce hesaplanan tabloda birleştirmeler ve filtre dönüştürmeleri gerçekleştirerek gelişmiş işlem altyapısını kullandığınızdan emin olun.

Birçok adımı birden çok sorguya bölme

Bir tablodaki çok sayıda adımı izlemek zordur. Bunun yerine, çok sayıda adımı birden çok tabloya bölmeniz gerekir. Diğer sorgular için Yüklemeyi Etkinleştir'i kullanabilir, ara sorgularsa devre dışı bırakabilir ve yalnızca veri akışı üzerinden son tabloyu yükleyebilirsiniz. Her birinde daha küçük adımlara sahip birden çok sorgunuz olduğunda, bağımlılık diyagramını kullanmak ve daha fazla araştırma yapmak için her sorguyu izlemek, bir sorgudaki yüzlerce adımı araştırmak yerine daha kolaydır.

Sorgular ve adımlar için özellikler ekleme

Belgeler, bakımı kolay koda sahip olmanın anahtarıdır. Power Query'de tablolara ve adımlara özellik ekleyebilirsiniz. Özelliklere eklediğiniz metin, bu sorgunun veya adımın üzerine geldiğinizde araç ipucu olarak gösterilir. Bu belgeler, modelinizi gelecekte korumanıza yardımcı olur. Bir tabloya veya adıma göz atarak, bu adımda yaptıklarınızı yeniden düşünmek ve hatırlamak yerine orada neler olduğunu anlayabilirsiniz.

Kapasitenin aynı bölgede olduğundan emin olun

Veri akışları şu anda birden çok ülkeyi veya bölgeyi desteklememektedir. Premium kapasite, Power BI kiracınızla aynı bölgede olmalıdır.

Şirket içi kaynakları bulut kaynaklarından ayırma

Şirket içi, bulut, SQL Server, Spark ve Dynamics 365 gibi her kaynak türü için ayrı bir veri akışı oluşturmanızı öneririz. Veri akışlarını kaynak türüne göre ayırmak, hızlı sorun gidermeyi kolaylaştırır ve veri akışlarınızı yenilediğinizde iç sınırları önler.

Veri akışlarını tablolar için gereken zamanlanmış yenilemeye göre ayırın

Kaynak sistemde saatte bir güncelleştirilen bir satış işlemi tablonuz varsa ve her hafta güncelleştirilen bir ürün eşleme tablonuz varsa, bu iki tabloyu farklı veri yenileme zamanlamalarıyla iki veri akışına bölün.

Aynı çalışma alanında bağlantılı tablolar için yenileme zamanlamaktan kaçının

Bağlantılı tablolar içeren veri akışlarınızda düzenli olarak kilitleniyorsanız, bunun nedeni veri akışı yenilemesi sırasında kilitlenen aynı çalışma alanında karşılık gelen, bağımlı bir veri akışı olabilir. Bu tür kilitleme işlem doğruluğu sağlar ve her iki veri akışının da başarıyla yenilenmesini sağlar, ancak düzenlemenizi engelleyebilir.

Bağlantılı veri akışı için ayrı bir zamanlama ayarlarsanız, veri akışları gereksiz yere yenilenebilir ve veri akışını düzenlemenizi engelleyebilir. Bu sorunu önlemek için iki öneri vardır:

  • Kaynak veri akışıyla aynı çalışma alanında bağlı bir veri akışı için yenileme zamanlaması ayarlamayın.
  • Yenileme zamanlamasını ayrı olarak yapılandırmak ve kilitleme davranışından kaçınmak istiyorsanız, veri akışını ayrı bir çalışma alanına taşıyın.