logo
tr
en

Power BI’da Direct Query Modda Çalışmak

microsoft-power-bi-direct-querry-mode-working-1100x619

Power BI’da Direct Query Modda Çalışmak

Power BI Desktop ile veri kaynağınıza bağlandığınızda verilerin bir bir kopyasını her zaman Power BI Desktop‘a aktarabilirsiniz.(Belirli kıstaslarda ki.)
Bazı veri kaynakları (Rapor modelleri) için alternatif bir yaklaşım da sunulmaktadır;
Direct Query‘yi kullanarak veri kaynağına doğrudan bağlanmak.
Bu mod Import Mode çalışma modelinden farklı olarak veri kaynağına 15 dakikalık zaman aralıklarında bağlanarak anlık olarak verilere erişip, Power BI platformuna geri dönerek ilgili rapor verilerini günceller.

NOT:Çalışma yoğunluğu ve yük belirlemelerinden sonra uygunluk testleri dahilinde belirlenen rapor tiplerinde bu veri erişim modeli ile çalışılabilir.

Direct Query Mode Desteklenen Kaynaklar

Direct Query Mode için desteklenen veri kaynakları;

  • Amazon Redshift
  • Azure Databricks
  • Azure HDInsight Spark
  • Azure SQL Veritabanı
  • Azure SQL Veri Ambarı
  • Google BigQuery
  • IBM Netezza
  • Impala (2.x sürümü)
  • Oracle Database (12 ve sonraki sürümler)
  • SAP Business Warehouse Uygulama Sunucusu
  • SAP Business Warehouse İleti Sunucusu
  • SAP HANA
  • Snowflake
  • Spark (0.9 ve sonraki sürümler)
  • SQL Server
  • Teradata Veritabanı
  • Vertica

olarak belirlenmiştir.Bu liste günden güne Power BI geliştirme ekibi tarafından güncellenmektedir.

Direct Query’yi Kullanarak Veri Kaynaklarına Bağlanmak

Direct Query tarafından desteklenen bir veri kaynağına bağlanmak için Veri Al Get Data seçeneğini kullandığınızda, bağlantı penceresinde; nasıl bağlanmak istediğinizi seçebilirsiniz.(Hangi bağlantı modunda.)

microsoft-power-bi-get-data-connect-type-direct-query

Import (İçeri Aktar) ve Direct Query seçenekleri arasındaki farklar aşağıda belirtilmiştir;

Import: Seçilen tablolar ve sütunlar Power BI Desktop’a aktarılır. Bir görselleştirme oluşturduğunuzda veya mevcut bir görselleştirme ile etkileşim kurduğunuzda Power BI Desktop, içeri aktarılan verileri kullanır. İlk içeri aktarma veya son yenileme işleminden sonra, temel alınan verilerde gerçekleştirilen tüm değişiklikleri görmek için verileri yenilemeniz gerekir.
Yenileme işlemi ile veri kümesinin tamamı tekrar içeri aktarılır.

Direct Query: Power BI Desktop’a herhangi bir veri aktarılmaz veya kopyalanmaz. İlişkisel kaynaklar için Fields (Alanlar) listesinde, seçilen tablolar ve sütunlar görünür. SAP Business Warehouse gibi çok boyutlu kaynaklar için Fields listesinde, seçilen küpün boyutları ve ölçüleri görünür.
Siz bir görselleştirme oluşturduğunuzda veya mevcut bir görselleştirme ile etkileşim kurduğunuzda Power BI Desktop, temel alınan veri kaynağını sorgular.
Bu, mevcut verileri her zaman görüntülediğiniz anlamına gelir.
Bazı sınırlamalar olsa da DirectQuery ile kullanabileceğiniz çok sayıda veri modelleme ve veri dönüştürme seçeneği mevcuttur.
Görselleştirme oluşturulurken veya mevcut görselleştirmelerle etkileşim kurulurken, temel alınan kaynağın sorgulanması gerekir.
Görselleştirmenin yenilenmesi için gereken süre, temel alınan veri
kaynağının performansına bağlıdır. İsteğin karşılanması için gereken veriler kısa bir süre önce istendiğinde Power BI Desktop, görselleştirmenin görüntülenmesi için gereken süreyi azaltmak üzere en son verileri kullanır.
Giriş şeridindeki Refresh (Yenile) seçeneğini belirleyerek, tüm görselleştirmelerin geçerli verilerle yenilenmesini sağlayabilirsiniz.

Direct Query Özelliğini Kullanmanın Avantajları

Direct Query özelliğini kullanmanın bazı avantajları vardır:

  • DirectQuery, tüm verileri önceden toplayarak içeri aktarmanın mümkün olmayacağı çok büyük veri kümeleri söz konusu olduğunda görselleştirmeler oluşturmanıza olanak sağlar.
  • Temel alınan verilerde yapılan değişiklikler için verilerin yenilenmesi ve bazı raporlarda, mevcut verilerin görüntülenmesi için büyük veri aktarımları gerekebilir. Bunlar, verilerin yeniden içeri aktarılmasını olanaksız hale getirmektedir. Bunun aksine Direct Query raporları her zaman mevcut verileri kullanır.
  • Veri kümeleri için uygulanan 1 GB’lık sınırlama DirectQuery için geçerli değildir.

Direct Query Kullanımıyla İlgili Sınırlamalar

Şu anda Direct Query kullanımıyla ilgili bazı sınırlamalar mevcuttur;

  • Tüm tabloların tek bir veritabanına ait olması gerekir.
  • Sorgu Düzenleyicisi sorgusunun çok karmaşık olması halinde hata oluşur. Hatayı gidermek için Sorgu Düzenleyicisi‘nde soruna yola açan adımı silmeniz veya verilere bağlanmak için Direct Query yerine Import (İçeri Aktar) seçeneğini kullanmanız gerekir. SAP Business Warehouse gibi çok boyutlu kaynaklar için Sorgu Düzenleyicisi kullanılmaz.
  • İlişki filtreleme özelliği iki yön yerine tek bir yön ile sınırlıdır. (Önizleme özelliği olarak, Direct Query için her iki yönde çapraz filtrelemeyi etkinleştirebilirsiniz.) SAP Business Warehouse gibi çok boyutlu kaynaklar için modelde tanımlı herhangi bir ilişki yoktur.
  • Direct Query‘de akıllı zaman gösterimi özellikleri kullanılamaz. Örneğin, tarih sütunlarının (yıl, çeyrek yıl, ay, gün vb.) özel olarak değerlendirilmesi, Direct Query modunda desteklenmemektedir.
  • Direct Query kullanılarak döndürülen veriler için 1 milyon satırlık bir sınır söz konusudur. Bu, Direct Query ile döndürülen veri kümesini oluşturmak için kullanılan toplamalar veya hesaplamalar için değil, yalnızca döndürülen sütunlar için geçerli bir sınırlamadır.
    Örneğin; veri kaynağında çalıştırılan sorgunuzla 10 milyon satırı toplayıp Direct Query’yi kullanarak toplama işleminin sonuçlarını Power BI’a doğru şekilde döndürebilirsiniz. Bu işlem için, Power BI’a döndürülen veri sayısının 1 milyon satırdan az olması yeterlidir. Direct Query’den 1 milyondan fazla satır döndürülürse Power BI hata döndürür.

Temel alınan veri kaynağına gönderilen sorguların kabul edilebilir düzeyde bir performansa sahip olmasını sağlamak için, ölçülere varsayılan olarak bazı sınırlamalar getirilir. İleri düzey kullanıcılar;
Dosya > Seçenekler ve Ayarlar > Seçenekler adımlarını izleyip Direct Query’yi ve ardından Direct Query modunda kısıtlanmamış ölçümlere izin ver’i seçerek bu sınırlamayı atlamayı tercih edebilir. Bu seçenek belirlendiğinde, bir ölçü için geçerli olan tüm DAX ifadeleri kullanılabilir. Ancak kullanıcılar, içeri aktarıldığında çok iyi performans gösteren
bazı ifadelerin, Direct Query modunda arka uç kaynağa çok yavaş sorgu gönderilmesine neden olabileceğini unutmamalıdır.

Direct Query Kullanımında Dikkat Edilmesi Gereken Önemli Noktalar

Direct Query kullanımında aşağıdaki üç nokta göz önünde bulundurulmalıdır;

  • Performans ve Yük: Tüm Direct Query istekleri kaynak veritabanına gönderilir. Bu nedenle, bir görselin yenilenmesi için gereken süre; söz konusu arka uç kaynağının, sorgu sonuçlarıyla birlikte ne kadar sürede yanıt vereceğine bağlıdır. Görseller için Direct Query kullanıldığında (istenen verilerin döndürülmesi için) önerilen yanıt süresi en fazla beş saniyedir. Sonuçların getirilmesi için önerilen maksimum yanıt süresi ise 30 saniyedir. Bu sınır aşıldığında, kullanıcıların rapor kullanma deneyimi kabul edilemez bir noktaya gelir.Ayrıca bir rapor Power BI hizmetinde yayımlandığında beş dakikadan uzun süren tüm sorgular zaman aşımına uğrar ve kullanıcı bir hatayla karşılaşır.Yayımlanan raporu kullanacak olan Power BI kullanıcılarının sayısına bağlı olarak, kaynak veritabanı üzerindeki yükün de göz önünde bulundurulması gerekir. Satır Düzeyi Güvenlik (RLS) kullanımının da önemli bir etkisi olabilir. Birden fazla kullanıcı tarafından paylaşılan, RLS kullanılmayan bir pano kutucuğu için veritabanına tek bir sorgu gönderilir. RLS kullanılan pano kutucuklarında ise bir kutucuğun yenilenmesi için genellikle kullanıcı başına bir sorgu gerekir. Bu da kaynak veritabanının yükünü önemli ölçüde artırır ve performansı etkileyebilir.Power BI, mümkün olduğunca etkili sorgular oluşturur. Ancak belirli durumlarda, oluşturulan sorgu yeterince etkili olmaz ve yenileme başarısız olur. Oluşturulan bir sorgunun, arka uç veri kaynağından çok yüksek miktarda satır (1 milyondan fazla) alması bu duruma verilebilecek bir örnektir. Böyle bir durumda aşağıdaki hata ile karşılaşılır:
    The resultset of a query to external data source has exceeded the maximum allowed size of ‘1000000’ rows.
    Bu durum, kardinalitenin çok yüksek olduğu bir sütun içeren, toplama seçeneği Özetleme olarak ayarlanmış basit bir grafikte ortaya çıkabilir. Görselde yalnızca, kardinalite değeri 1 milyondan az olan sütunlar bulunmalı veya uygun filtreler uygulanmış olmalıdır.
  • Güvenlik: Yayımlanan bir raporu kullanan tüm kullanıcılar arka uç veri kaynağına, Power BI hizmetinde yayımlama işleminin ardından girilen kimlik bilgilerini kullanarak bağlanır. Bu durum, içeri aktarılan veriler için de geçerlidir: Tüm kullanıcılar, arka uç kaynağında tanımlanan herhangi bir güvenlik kuralından bağımsız olarak aynı verileri görür. Her kullanıcı için Direct Query kaynaklarıyla ayrı bir güvenlik doğrulaması olmasını isteyen müşteriler RLS‘yi kullanmalıdır.
  • Desteklenen Özellikler: Power BI Desktop’taki özelliklerin tümü Direct Query modunda desteklenmez veya bazı sınırlamalar mevcuttur. Buna ek olarak, Power BI hizmetindeki bazı özellikler de (Hızlı Öngörüler gibi) Direct Query modunda veri kümeleri için kullanılamaz. Benzer şekilde, Direct Query’yi kullanıp kullanmayacağınıza karar verirken, Direct Query modunda bu özelliklere getirilen sınırlamaları da göz önünde bulundurmanız gerekir.

Power BI Hizmetinde Direct Query Raporu Yayımlamak

Direct Query kullanılarak oluşturulan raporlar Power BI hizmetinde yayımlanabilir.
Kullanılan veri kaynağı için şirket içi veri ağ geçidinin gerekli olmaması halinde (Azure SQL Veritabanı,Azure SQL Veri Ambarı veya Redshift), yayımlanan raporun Power BI hizmetinde görüntülenebilmesi için
kimlik bilgilerinin girilmesi gerekir.
Kimlik bilgilerini girmek için Power BI‘da Ayarlar dişli simgesini ve ardından Ayarlar‘ı seçebilirsiniz.

microsoft-power-bi-get-data-connect-type-direct-query-1

Bu işlemin ardından Power BI‘da Ayarlar penceresi görüntülenir. Bu pencerede Veri kümeleri sekmesini ve ardından Direct Query‘yi kullanan veri kümesini seçtikten sonra, Kimlik bilgilerini düzenle seçeneğini
belirleyin.
Kimlik bilgilerini girene kadar, yayımlanmış bir raporu açmayı veya ilgili veri kaynaklarına bağlanmak için Direct Query bağlantısı kullanılarak oluşturulmuş bir veri kümesini incelemeyi denediğinizde hata ile
karşılaşırsınız.
Direct Query bağlantısı kullanan Azure SQL Veritabanı, Azure SQL Veri Ambarı ve Redshift dışındaki veri kaynakları söz konusu olduğunda bir veri bağlantısı gerçekleştirilebilmesi için şirket içi veri ağ geçidinin yüklü
olması ve ilgili veri kaynağının kayıtlı olması gerekir.

Yorum yap