Aracılığıyla paylaş


Bire bir ilişki kılavuzu

Bu makale, Power BI Desktop ile çalışan bir veri modelleyicisi olarak sizi hedefler. Bire bir model ilişkileriyle çalışma konusunda size rehberlik sağlar. Her iki tablo da ortak ve benzersiz değerlerden oluşan bir sütun içerdiğinde bire bir ilişki oluşturulabilir.

Not

Model ilişkilerine giriş bu makalede ele alınmamıştır. İlişkiler, özellikleri veya bunların nasıl yapılandırıldığını tam olarak bilmiyorsanız, önce Power BI Desktop'ta Model ilişkileri makalesini okumanızı öneririz.

Yıldız şeması tasarımını anlamanız da önemlidir. Daha fazla bilgi için bkz . Yıldız şemasını ve Power BI'ın önemini anlama.

Bire bir ilişkileri içeren iki senaryo vardır:

  • Bozuk boyutlar: Olgu türündeki bir tablodan dejenere bir boyut türetebilirsiniz.

  • Satır verileri tablolara yayılıyor: Tek bir iş varlığı veya konusu, büyük olasılıkla verileri farklı veri depolarından kaynaklandığından iki (veya daha fazla) model tablosu olarak yüklenir. Bu senaryo, boyut türündeki tablolar için yaygın olabilir. Örneğin, ana ürün ayrıntıları işletimsel satış sisteminde depolanır ve ek ürün ayrıntıları farklı bir kaynakta depolanır.

    Ancak olgu türündeki iki tabloyu bire bir ilişkiyle ilişkilendirmeniz olağan dışı bir durum. Bunun nedeni, olgu türündeki her iki tablonun da aynı boyutsallığa ve ayrıntı düzeyine sahip olması gerekir. Ayrıca, model ilişkisinin oluşturulmasına izin vermek için her olgu türündeki tablonun benzersiz sütunlara ihtiyacı olacaktır.

Bozuk boyutlar

Olgu türündeki bir tablodaki sütunlar filtreleme veya gruplandırma için kullanıldığında, bunları ayrı bir tabloda kullanılabilir hale getirebilirsiniz. Bu şekilde, filtreleme veya gruplandırma için kullanılan sütunları olgu satırlarını özetlemek için kullanılan sütunlardan ayırırsınız. Bu ayrım şu şekilde olabilir:

  • Depolama alanını azaltma
  • Model hesaplamalarını basitleştirme
  • Geliştirilmiş sorgu performansına katkıda bulunma
  • Rapor yazarlarınıza daha sezgisel bir Veri bölmesi deneyimi sunma

Satış siparişi ayrıntılarını iki sütunda depolayan bir kaynak satış tablosu düşünün.

Satış tablosu için tablo satırları.

OrderNumber sütunu sipariş numarasını, OrderLineNumber sütunu ise sipariş içindeki bir satır dizisini depolar.

Aşağıdaki model diyagramında sipariş numarası ve sipariş satırı numarası sütunlarının Sales tablosuna yüklenmemiş olduğuna dikkat edin. Bunun yerine, değerleri SalesOrderLineID adlı bir vekil anahtar sütunu oluşturmak için kullanıldı. (Anahtar değeri, sipariş numarası 1000 ile çarpılarak ve ardından sipariş satırı numarası eklenerek hesaplanır.)

Model diyagramı iki tablo içerir: Satış ve Satış Siparişi. Bire bir ilişki SalesOrderLineID sütunlarını ilişkilendirmektedir.

Satış Siparişi tablosu, rapor yazarları için üç sütun içeren zengin bir deneyim sağlar: Satış Siparişi, Satış Siparişi Satırı ve Satır Numarası. Ayrıca bir hiyerarşi de içerir. Bu tablo kaynakları, siparişler ve sipariş satırlarını filtrelemek, gruplandırmak veya detaya gitmek için gereken rapor tasarımlarını destekler.

Satış Siparişi tablosu satış verilerinden türetildiğinden, her tabloda tam olarak aynı sayıda satır olmalıdır. Ayrıca, her SalesOrderLineID sütunu arasında eşleşen değerler olmalıdır.

Satır verileri tablolar arasında yayılımı

Bire bir ilişkili boyut türündeki iki tabloyu içeren bir örnek düşünün: Ürün ve Ürün Kategorisi. Her tablo içeri aktarılan verileri temsil eder ve benzersiz değerler içeren bir SKU (Stok Tutma Birimi) sütununa sahiptir.

burada iki tablonun kısmi model diyagramı yer alır.

Model diyagramı iki tablo içerir. Tasarım aşağıdaki paragrafta açıklanmıştır.

İlk tablo Product olarak adlandırılır ve üç sütun içerir: Color, Product ve SKU. İkinci tablo Ürün Kategorisi olarak adlandırılır ve iki sütun içerir: Category ve SKU. Bire bir ilişki, iki SKU sütununu ilişkilendirmektedir. İlişki her iki yönde de filtrelenir ve bu her zaman bire bir ilişkiler için geçerlidir.

İlişki filtresi yayma işleminin nasıl çalıştığını açıklamaya yardımcı olmak için model diyagramı tablo satırlarını gösterecek şekilde değiştirilmiştir. Bu makaledeki tüm örnekler bu verileri temel alır.

Not

Power BI Desktop model diyagramında tablo satırlarını görüntülemek mümkün değildir. Tartışmayı net örneklerle desteklemek için bu makalede yapılır.

Model diyagramı artık tablo satırlarını gösterir. Satır ayrıntıları aşağıdaki paragrafta açıklanmıştır.

İki tablonun satır ayrıntıları aşağıdaki madde işaretli listede açıklanmıştır:

  • Product tablosunun üç satırı vardır:
    • SKU CL-01, Ürün Tişörtü, Renk Yeşili
    • SKU CL-02, Ürün Jeans, Renk Mavisi
    • SKU AC-01, Ürün Şapkası, Mavi Renk
  • Ürün Kategorisi tablosunun iki satırı vardır:
    • SKU CL-01, Kategori Giyim
    • SKU AC-01, Kategori Donatıları

Ürün Kategorisi tablosunun ürün SKU CL-02 için bir satır içermediğini fark edin. Bu eksik satırın sonuçlarını bu makalenin devamında ele alacağız.

Veri bölmesinde rapor yazarları ürünle ilgili alanları iki tabloda bulur: Ürün ve Ürün Kategorisi.

Veri bölmesinde her iki tablo da genişletilmiş olarak gösterilir ve sütunlar Ürün ve Ürün kategorisi vurgulanan alanlar olarak listelenir.

Şimdi her iki tablodaki alanlar bir tablo görseline eklendiğinde ne olacağını görelim. Bu örnekte, SKU sütunu Product tablosundan kaynaklanmıştır.

Tablo görseli dört sütun içerir: SKU, Ürün, Renk ve Kategori. SKU CL-02 ürününün Kategori değeri BLANK'tır.

SKU CL-02 ürününün Kategori değerinin BLANK olduğuna dikkat edin. Bunun nedeni, bu ürünün Ürün Kategorisi tablosunda satır olmamasıdır.

Öneriler

Mümkün olduğunda, satır verileri model tablolarına yayıldığında bire bir model ilişkileri oluşturmaktan kaçınmanızı öneririz. Bunun nedeni, bu tasarımın yapabilecekleri:

  • Gerektiğinden daha fazla tablo listeleyerek Veri bölmesi dağınıklığıyla katkıda bulunun.
  • Rapor yazarlarının birden çok tabloya dağıtıldığı için ilgili alanları bulmasını zorlaştırabilirsiniz.
  • Düzeylerinin aynı tablodaki sütunları temel alması gerektiğinden hiyerarşi oluşturma özelliğini sınırlayın.
  • Tablolar arasında satırların tam eşleşmesi olmadığında beklenmeyen sonuçlar elde edin.

Belirli öneriler, bire bir ilişkinin kaynak grubu içi mi yoksa kaynaklar arası mı olduğuna bağlı olarak değişir. İlişki değerlendirmesi hakkında daha fazla bilgi için bkz . Power BI Desktop'ta model ilişkileri (İlişki değerlendirmesi).

Kaynak grubu içi bire bir ilişki

Tablolar arasında bire bir kaynak grubu içi ilişki varsa, verileri tek bir model tablosunda birleştirmenizi öneririz. Power Query sorgularını birleştirerek yapılır.

Aşağıdaki adımlar, bire bir ilgili verileri birleştirmek ve modellemek için bir metodoloji sunar:

  1. Sorguları birleştirme: İki sorguyu birleştirirken, her sorgudaki verilerin eksiksizliğini göz önünde bulundurun. Bir sorgu tam bir satır kümesi içeriyorsa (ana liste gibi), diğer sorguyu onunla birleştirin. Birleştirme dönüştürmesini, varsayılan birleştirme türü olan sol dış birleşim kullanacak şekilde yapılandırın. Bu birleştirme türü, ilk sorgunun tüm satırlarını tutmanızı ve bunları ikinci sorgunun eşleşen satırlarıyla birleştirmenizi sağlar. İkinci sorgunun tüm gerekli sütunlarını ilk sorguya genişletin.

  2. Sorgu yüklemesini devre dışı bırak: İkinci sorgunun yükünü devre dışı bırakmayı unutmayın. Bu şekilde, sonucunu bir model tablosu olarak yüklemez. Bu yapılandırma, veri modeli depolama boyutunu azaltır ve Veri bölmesinin dağınık olmasını sağlar.

    Örneğimizde rapor yazarları artık Veri bölmesinde Product adlı tek bir tablo bulur. Ürünle ilgili tüm alanları içerir.

    Veri bölmesinde her iki tablo da genişletilmiş olarak gösterilir ve sütunlar Product ifadesi vurgulanan alanlar olarak listelenir.

  3. Eksik değerleri değiştirme: İkinci sorguda eşleşmeyen satırlar varsa, bu sorgudan tanıtılan sütunlarda null değerler görünür. Uygun olduğunda null değerleri bir belirteç değeriyle değiştirmeyi göz önünde bulundurun. Rapor yazarları sütun değerlerine göre filtrelediğinde veya gruplandırdığında eksik değerlerin değiştirilmesi özellikle önemlidir çünkü rapor görsellerinde BOŞLUKlar görünebilir.

    Aşağıdaki tablo görselinde, ürün SKU CL-02 kategorisinin artık [Undefined] okuduğuna dikkat edin. Sorguda null kategoriler bu belirteç metin değeriyle değiştirildi.

    Tablo görseli dört sütun içerir: SKU, Ürün, Renk ve Kategori. SKU CL-02 ürününün Kategori değeri artık

  4. Hiyerarşi oluşturma: Şimdi birleştirilmiş tablonun sütunları arasında ilişkiler varsa, hiyerarşiler oluşturmayı göz önünde bulundurun. Bu şekilde rapor yazarları rapor görseli detaylandırma fırsatlarını hızla belirler.

    Örneğimizde rapor yazarları artık iki düzeyi olan bir hiyerarşi kullanabilir: Kategori ve Ürün.

    Veri bölmesinde her iki tablo da genişletilmiş olarak gösterilir ve sütunlar Ürünler'in vurgulendiği alanlar olarak listelenir.

Ayrı tabloların alanlarınızı düzenlemeye nasıl yardımcı olduğunu beğendiyseniz, yine de tek bir tabloda birleştirmenizi öneririz. Yine de alanlarınızı düzenleyebilirsiniz, ancak bunun yerine görüntüleme klasörlerini kullanabilirsiniz.

Örneğimizde rapor yazarları, Pazarlama görüntüleme klasöründe kategori alanını bulabilir.

Veri bölmesi, Pazarlama adlı bir görüntüleme klasörü içindeki Kategori alanını gösterir.

Yine de modelinizde bire bir kaynak grubu içi ilişkiler tanımlamaya karar verdiyseniz, mümkün olduğunda, ilişkili tablolarda eşleşen satırlar olduğundan emin olun. Bire bir kaynak grubu içi ilişki normal bir ilişki olarak değerlendirildiğinden, veri bütünlüğü sorunları rapor görsellerinizde BLANK olarak ortaya çıkabilir. (Bu makalede sunulan ilk tablo görselinde BLANK gruplandırma örneğini görebilirsiniz.)

Kaynak grupları arasında bire bir ilişki

Tablolar arasında bire bir çapraz kaynak grubu ilişkisi olduğunda, veri kaynaklarınızdaki verileri önceden birleştirmediğiniz sürece alternatif model tasarımı olmaz. Power BI, bire bir model ilişkisini sınırlı bir ilişki olarak değerlendirir. Bu nedenle, eşleşmeyen satırlar sorgu sonuçlarından kaldırılacağından, ilişkili tablolarda eşleşen satırlar olduğundan emin olun.

Şimdi her iki tablodaki alanlar bir tablo görseline eklendiğinde ve tablolar arasında sınırlı bir ilişki olduğunda ne olacağını görelim.

Tablo görseli dört sütun içerir: SKU, Ürün, Renk ve Kategori. Tabloda yalnızca iki satır vardır.

Tabloda yalnızca iki satır görüntülenir. Ürün Kategorisi tablosunda eşleşen satır olmadığından ürün SKU CL-02 eksik.

Bu makaleyle ilgili daha fazla bilgi için aşağıdaki kaynaklara göz atın: