İlişkiler ve kardinalite ile çalışma

Tamamlandı

Diğer veritabanı yönetim sistemlerinin aksine Power BI, bir ilişkiye yönlülük kavramını içerir. Bu yönlülük, birden çok tablo arasındaki verilerin filtrelenmesinde önemli bir rol oynar. Verileri yüklediğinizde Power BI, sütun adlarını eşleştirerek veriler içinde mevcut olan ilişkileri otomatik olarak arar. Bu seçenekleri kendiniz düzenlemek için İlişkileri Yönet seçeneğini de kullanabilirsiniz.

Örneğin, Sales veritabanından birçok tablo aldıysanız ve aşağıdaki görüntü semantik modelinize bir örnektir. Power BI, birkaç ilişkiyi otomatik olarak algıladı ancak siz bunların ne anlama geldiğini anlayamıyorsunuz. İlişkilerin, verilerinizde mevcut olanları doğru şekilde yansıttığından emin olmak istiyorsunuz.

Örnek anlam modelinin ekran görüntüsü

İlişkiler

Aşağıda, Power BI'da bulabileceğiniz farklı ilişki türleri yer almaktadır.

Çoka bir (*:1) veya bire çok (1: *) ilişkisi

  • Bir sütunda yer alan bir değerin birden çok örneğinin, başka bir sütunda karşılık gelen yalnızca bir benzersiz örnekle ilgili olduğu bir ilişkiyi açıklar.

  • Olgu ve boyut tabloları arasındaki yönlülüğü açıklar.

  • En yaygın yönlülük türüdür ve Power BI’da otomatik olarak ilişkiler oluşturulurken kullanılan varsayılan ayardır.

Bire çok ilişkiye örnek olarak, tek bir benzersiz ülke ile ilişkili birçok bölgenin bulunabileceği Ülke Adı ve Bölge tabloları arasındaki ilişki verilebilir.

Çoka bir ilişkisinin ekran görüntüsü.

Bire bir (1:1) ilişkisi:

  • Bir değerin yalnızca bir örneğinin iki tablo arasında ortak olduğu bir ilişkiyi açıklar.

  • Her iki tabloda da benzersiz değerler olması gerekir.

  • Bu ilişki, fazlalık bilgileri depoladığından ve modelin düzgün şekilde tasarlanmadığı izlenimi verdiğinden önerilmez. Tabloları birleştirmek daha iyi bir uygulamadır.

İki farklı tabloda ürünlerin ve ürün kimliklerinin olması, bire bir ilişkisine örnek olarak verilebilir. Bire bir ilişki oluşturmak gereksizdir ve bu iki tablo birleştirilmelidir.

Bire bir ilişkinin ekran görüntüsü.

Çoka çok (.) ilişkisi:

  • İki tablo arasında birçok değerin ortak olduğu bir ilişkiyi açıklar.

  • Bir ilişkideki her iki tabloda benzersiz değerler olması gerekmez.

  • Önerilmez. Benzersiz değerlerin olmaması belirsizlik oluşturur ve kullanıcılarınız, hangi değer sütununun neye başvurduğunu anlamayabilir.

Örneğin, aşağıdaki şekilde, birden çok satışla ilişkilendirilmiş birden çok sipariş olabileceğinden, OrderDate sütununda Satış ve Sipariş tabloları arasındaki çoğa çok ilişkisi gösterilmektedir. Her iki tabloda da aynı sipariş tarihi olabileceğinden belirsizlik oluşur.

Çoka çok ilişkisinin ekran görüntüsü.

Çapraz filtre yönü

Bir ilişkinin bir veya her iki tarafında veriler filtrelenebilir.

Tek bir çapraz filtre yönü ile:

  • Verileri filtrelemek için bir ilişkide yalnızca bir tablo kullanılabilir. Örneğin, Tablo 1, Tablo 2’ye göre filtrelenebilir, ancak Tablo 2, Tablo 1’e göre filtrelenemez.

    İpucu

    Filtrenin hangi yönde ilerleyeceğini anlamak için tablolarınız arasındaki ilişkide okun yönünü izleyin. Genellikle bu okların olgu tablonuzu işaret etmesi yararlıdır.

  • Bire çok veya çoka bir ilişki için çapraz filtre yönü "bir" tarafından olacaktır; başka bir deyişle, filtreleme birçok değeri olan tabloda gerçekleşir.

Her iki çapraz filtre yönü veya iki yönlü çapraz filtreleme ile:

  • İlişkideki bir tablo, diğerini filtrelemek için kullanılabilir. Örneğin, bir boyut tablosu, olgu tablosu aracılığıyla filtrelenebilir ve olgu tabloları da boyut tablosu aracılığıyla filtrelenebilir.

  • Çoğa çok ilişkilerle iki yönlü çapraz filtreleme kullanırken daha düşük performans elde edebilirsiniz.

İki yönlü çapraz filtreleme ile ilgili ikaz: Sonuçlarını iyice anlamadan iki yönlü çapraz filtreleme ilişkilerini etkinleştirmemelisiniz. Bunun etkinleştirilmesi, belirsizliğe, fazla örneklemeye, beklenmeyen sonuçlara ve olası performans düşüşüne yol açabilir.

Kardinalite ve çapraz filtre yönü

Bire bir ilişkiler için kullanılabilir tek seçenek iki yönlü çapraz filtrelemedir. Veriler bu ilişkinin her iki tarafında da filtrelenebilir bu sayede belirsiz olmayan tek bir ayrı değer elde edilir. Örneğin, bir Ürün Kimliğini filtreleyip tek bir Ürün ya da bir Ürünü filtreleyip tek bir Ürün Kimliği döndürebilirsiniz.

Çoğa çok ilişkiler için, iki yönlü çapraz filtrelemeyi kullanarak tek bir yönde veya her iki yönde filtrelemeyi seçebilirsiniz. Farklı tablolar arasında birden çok yol mevcut olacağından, iki yönlü çapraz filtreleme ile ilişkili belirsizlik, çoğa çok ilişkilerde artar. Bir ölçü, hesaplama veya filtre oluşturursanız, amaçladığınız dışında sonuçlar oluşabilir; örneğin, verileriniz filtrelenir ve filtre uygulanırken Power BI altyapısının seçtiği ilişkiye bağlı olarak nihai sonuç farklı olabilir. İki yönlü ilişkiler için de bu durum geçerlidir; dolayısıyla iki yönlü ilişkileri kullanırken dikkatli olmanız gerekir.

Bu nedenle çoğa çok ilişkiler ve/veya iki yönlü ilişkiler karmaşıktır. Kümelendiğinde verilerinizin nasıl görüneceğinden emin değilseniz, birden çok filtreleme yönü olan bu açık uçlu ilişki türleri, veriler aracılığıyla birden çok yol sunabilir.

Çoğa çok ilişkiler oluşturma

Size, müşteriler ve hesaplar için bütçeleri inceleyen bir görsel oluşturma görevinin verildiği bir senaryoyu düşünün. Aynı hesapta birden çok müşteriniz ve aynı müşteriyi içeren birden çok hesabınız olabilir; bu nedenle çoğa çok ilişki oluşturmanız gerektiğini biliyorsunuz.

Çoka çok ilişkisinin ekran görüntüsü.

Bu ilişkiyi oluşturmak için İlişkileri Yönet>Yeni'ye gidin. Sonuçta ulaşılan pencerede, CustomerTable ve AccountTable tablosundaki Müşteri Kimliği sütunu arasında bir ilişki oluşturun. İlişki çoka çok olarak ayarlanır ve filtre türü her iki yöndedir. Beklenmeyen değerler alabileceğiniz için bu ilişki türünü yalnızca iki sütunda da benzersiz değerler olması beklenmiyorsa kullanmanız konusunda hemen size uyarı verilir. Her iki yönde de filtreleme yapmak istediğinizden, iki yönlü çapraz filtrelemeyi seçin.

Tamam’ı seçin. Çoğa çok ilişkiyi başarıyla oluşturdunuz.

İlişkiyi Yönet'teki çoka çok ilişkisinin ekran görüntüsü.

Daha fazla bilgi için bkz. Power BI’da çoğa çok ilişkiler.