Power BI’da Veri Tutarlılığı Analizi

Power BI Dev 02.06.2021

Power BI Desktop üzerinde; Import Mode ya da Direct Query Mode kullanarak bir veri kaynağına bağlanırken, veri kaynağınız da daha verimli sorgular çalıştırılmasını sağlamak için Assume Referantial IntegrityBilgi Tutarlılığı Varsay seçeneğini kullanabilirsiniz.

Bu özellik; temel alınan verilere ilişkin bazı ek gereksinimlere sahiptir ve yalnızca Direct Query Mode bağlantı tipi ile kullanılabilir.

Import Mode bağlantı tipinde ise Querry Editor paneline bağlanıp veri kaynağı üzerinden raporumuz içerisine aldığımız tabloların veri değeri kümelemesi ile veri kaynağımız üzerindeki veri kümesi değerlerini basit sorgu yordamı ile karşılaştırabiliriz.

Bilgi Tutarlılığı Varsay (Assume Referantial Integrity ) ayarı, veri kaynağındaki sorguların OUTER JOIN yerine INNER JOIN sorgu deyimlerini kullanmasını sağlar, böylece sorgu verimliliği artar ve raporlarınızdaki filtreleme tepki süreleri otomatik olarak iyileşir.

Power BI Bilgi Tutarlılığı Varsay Ayarını Kullanmaya İlişkin Gereksinimler

Power BI Desktop üzerindeki bu ayar, gelişmiş bir ayardır ve yalnızca, verilere Direct Query kullanılarak bağlanıldığında etkinleştirilir. (Opsiyonel olarak.)

Bilgi Tutarlılığı Varsay ayarının düzgün çalışabilmesi için aşağıdaki gereksinimler söz konusudur;

  • İlişkide From sütununda bulunan veriler hiçbir zaman Null veya Boş (Blank) olmaz.
  • From sütunundaki her bir değer için To sütununda karşılık gelen bir değer bulunur, bulunmalı.

Bu bağlamda From sütunu, Tek — Çok ilişkisindeki Çok kısmıdır veya Birebir ilişkide birinci tablodaki sütundur.

Power BI Bilgi Tutarlılığı Varsay Ayarının Kullanımına İlişkin Temel Örnek

Aşağıdaki örnekte, Bilgi Tutarlılığı Varsay‘ın veri bağlantılarında kullanıldığında nasıl davrandığı gösterilmiştir.

Örnekte bir Orders tablosu, Products tablosu ve Depots tablosu bulunan bir veri kaynağına bağlanılmıştır.

1-Orders tablosunu ve Products tablosunu gösteren aşağıdaki görüntüde Orders[ProductID] ve Products[ProductID] arasında bilgi tutarlılığı olduğuna dikkat edin.

Orders tablosundaki [ProductID] sütunu hiçbir zaman Null değildir ve tüm değerler Products tablosunda da görünür.

Bu nedenle, daha verimli sorgular elde etmek için Bilgi Tutarlılığı Varsay ayarlanmalıdır.(Bu ayar kullanıldığında, görsellerde gösterilen değerler değişmez.)

2-Sonraki görüntüde Orders[DepotID] ve Depots[DepotID] arasında hiçbir bilgi tutarlılığı olmadığına dikkat edin.

Bunun nedeni; bazı Orders değerleri için DepotID değerinin Null olmasıdır.

Bu nedenle, Bilgi Tutarlılığı Varsay ayarı belirlenmemelidir.

3-Son olarak, aşağıdaki tablolarda Orders[CustomerID] ve Customers[CustID] arasında hiçbir Bilgi Tutarlılığı yoktur.

CustomerID, Customers tablosunda bulunmayan bazı değerler (bu örnekte CustX) içerir.

Bu nedenle, Bilgi Tutarlılığı Varsay ayarı belirlenmemelidir.

Power BI Bilgi Tutarlılığı Varsay (Varsayılan) Ayarı

Bu özelliği etkinleştirmek için aşağıdaki görüntüde gösterildiği üzere Bilgi Tutarlılığı Varsay‘ın yanındaki onay kutusunu seçin.

Bu ayar seçili olduğunda, verilerde Null Değer veya Eşleşmeyen Satır olmadığı doğrulanır.

Ancak, çok yüksek sayıda değer içeren durumlarda doğrulamadan sonra bilgi tutarlılığı sorunları olmayacağı garanti edilemez.

Ayrıca doğrulama işlemi, ilişkinin düzenlendiği sırada gerçekleşir ve verilerde daha sonra yapılan değişiklikleri yansıtmaz.

Power BI Bilgi Tutarlılığı Varsay Ayarını Yanlışlıkla Ayarlarsanız Ne Olur?

Verilerde bilgi tutarlılığı sorunları varken Bilgi Tutarlılığı Varsay‘ı ayarlamanız hata oluşmasına neden olmaz.

Ancak, verilerde görünür tutarsızlıklar oluşmasına neden olur.

Örneğin; yukarıda açıklanan Depots tablosu ile ilişki örneğinde sonuç aşağıdaki gibi olur:

  • Toplam Order Qty değerini gösteren bir görsel, 40 değerini görüntüler,
  • Toplam Order Qty by Depot City değerini gösteren bir görsel, toplamda yalnızca 30 değerini görüntüler.

Bunun nedeni, DepotID değeri Null olan Order ID 1 verilerinin dahil edilmemesidir.