Power BI Desktop'ta Bilgi Tutarlılığı Varsay ayarını uygulama

DirectQuery kullanarak bir veri kaynağına bağlanırken, veri kaynağınızda daha verimli sorgular çalıştırmayı etkinleştirmek için Bilgi Tutarlılığı Varsay seçimini kullanabilirsiniz. Bu özellik, temel alınan verilerin birkaç gereksinimine sahiptir ve yalnızca DirectQuery kullanılırken kullanılabilir.

Bilgi Tutarlılığı Varsay ayarı, veri kaynağındaki sorguların OUTER JOIN yerine INNER JOIN deyimlerini kullanmasını sağlar ve bu da sorgu verimliliğini artırır.

Screenshot of an Edit Relationship dialog to select Assume Referential Integrity.

Bilgi Tutarlılığı Varsay'ı kullanma gereksinimleri

Bu ayar gelişmiş bir ayardır ve yalnızca DirectQuery kullanılarak verilere bağlanırken etkinleştirilir. Bilgi Tutarlılığı Varsay'ın düzgün çalışması için aşağıdaki gereksinimler gereklidir:

  • İlişkideki From sütunundaki veriler hiçbir zaman Null veya boş değildir
  • Kimden sütunundaki her değer için, Son sütununda buna karşılık gelen bir değer vardır

Bu bağlamda, Kimden sütunu Bire Çok ilişkisindeki Çok sütunudur veya Bire Bir ilişkisindeki ilk tablodaki sütundur.

Bilgi Tutarlılığı Varsay'ı kullanma örneği

Aşağıdaki örnek, Bilgi Tutarlılığı Varsay'ın veri bağlantılarında kullanıldığında nasıl davrandığını gösterir. Örnek, Orders tablosu, Products tablosu ve Depots tablosu içeren bir veri kaynağına bağlanır.

  • Orders tablosunu ve Products tablosunu gösteren aşağıdaki görüntüde Orders[ProductID] ile Products[ProductID] arasında bilgi tutarlılığı vardır. Orders tablosundaki [ProductID] sütunu hiçbir zaman Null değildir ve her değer Ürünler tablosunda da görünür. Bu nedenle, Daha verimli sorgular almak için Bilgi Tutarlılığı Varsay ayarının yapılması gerekir. Bu ayarın kullanılması, görsellerde gösterilen değerleri değiştirmez.

    Screenshot of Orders table and Products table.

  • Sonraki görüntüde Orders[DepotID] ile Depots[DepotID] arasında hiçbir bilgi tutarlılığı olmadığına dikkat edin çünkü bazı Siparişler için DepotID Null olur. Bu nedenle Bilgi Tutarlılığı Varsay ayarı yapılmamalıdır.

    Screenshot of Orders table and Depots table.

  • Son olarak, aşağıdaki tablolarda Orders[CustomerID] ile Customers[CustID] arasında bilgi tutarlılığı yoktur. CustomerID, bu örnekte, Müşteriler tablosunda mevcut olmayan CustX değerleri içerir. Bu nedenle Bilgi Tutarlılığı Varsay ayarı yapılmamalıdır.

    Screenshot of Orders table and Customers table.

Bilgi Tutarlılığı Varsay ayarını belirleme

Bu özelliği etkinleştirmek için aşağıdaki görüntüde gösterildiği gibi Bilgi Tutarlılığı Varsay'ı seçin.

Screenshot of an Edit Relationship dialog that allows you to select Assume Referential Integrity.

Seçildiğinde, Null veya eşleşmeyen satır olmadığından emin olmak için ayar verilerde doğrulanır. Ancak, çok fazla sayıda değeri olan durumlarda doğrulama, bilgi tutarlılığı sorunları olmadığının garantisi değildir.

Buna ek olarak, doğrulama ilişki düzenlenirken gerçekleşir ve verilerde yapılan sonraki değişiklikleri yansıtmaz.

Bilgi Tutarlılığını Varsay seçeneğini yanlış ayarlarsanız ne olur?

Verilerde bilgi tutarlılığı sorunları olduğunda Bilgi Tutarlılığı Varsay ayarını yaparsanız, bu ayar hatalara neden olmaz. Ancak, verilerde belirgin tutarsızlıklara neden olur. Örneğin, burada açıklanan Depots tablosuyla ilişki için aşağıdaki sonuçlanır:

  • Toplam Sipariş Miktarı'nı gösteren bir görselde 40 değeri gösterilir
  • Depot City'ye göre toplam Order Qty değerini gösteren bir görselde toplam değer yalnızca 30 olur çünkü DepotID değeri Null olan Sipariş Kimliği 1'i içermez.