Aracılığıyla paylaş


Bire bir ilişki kılavuzu

Bu makalede Power BI Desktop ile çalışan bir veri modelleyicisi olarak hedefleniyorsunuz. 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:

  • Degenerate dimensions:olgu tablosundan bozuk boyut türetebilirsiniz.

  • Satır verileri tablolar arasındayayılıyor: Tek bir iş varlığı veya konu, 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 tablolarında 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 iki olgu tablosunu bire bir ilişkiyle ilişkilendirmeniz olağan dışı bir durum. Çünkü her iki olgu tablosunun 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 tablosunun benzersiz sütunlara ihtiyacı olacaktır.

Bozuk boyutlar

Olgu tablosundaki 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ı azaltın.
  • Model hesaplamalarını basitleştirin.
  • Geliştirilmiş sorgu performansına katkıda bulunun.
  • Rapor yazarlarınıza daha sezgisel Veri bölmesi deneyimi sağlayın.

Sales adlı, satış siparişi satırının başvuru ayrıntılarını iki sütunda depolayan bir kaynak tabloyu düşünün.

Diyagram , Sales dejeneratif boyut tablosunun tablo satırlarını göstermektedir. Tasarım aşağıdaki paragrafta açıklanmıştır.

OrderNumber sütunu sipariş numarasını depolar ve OrderLineNumber sütunu sipariş içinde bir satır dizisi depolar.

Aşağıdaki görüntüde, sipariş numarası ve sipariş satırı numarası sütunlarının Sales tablosuna yüklenmemiş olduğuna dikkat edin. Bunun yerine, değerleri adlı bir OrderLineNumberID sütunu oluşturmak için kullanılmıştır. (Anahtar değeri, sipariş numarası 1000 ile çarpılarak ve ardından sipariş satırı numarası eklenerek hesaplanır.)

İki tabloyu gösteren Diyagramı: Satış ve Satış Siparişi. Bire bir ilişki, Sipariş Satırı Numarası Kimliği sütunlarını ilişkilendirmektedir.

Sales Order boyut tablosu, rapor yazarları için iki sütunu olan zengin bir deneyim sağlar: Sales Order ve Sales Order Line. Bu belirli sütunlar, siparişler ve sipariş satırlarını filtrelemesi, gruplandırması veya detaya gitmeleri gereken rapor tasarımlarını destekler.

Sales Order tablosu satış verilerinden türetildiğinden, her tabloda tam olarak aynı sayıda satır olmalıdır. Ayrıca, her OrderLineNumberID sütun arasında eşleşen değerler olmalıdır.

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

bire bir ilişkili iki boyut tablosu içeren bir örneği düşünün: Product ve Product Category. Her tablo içeri aktarılan verileri temsil eder ve benzersiz değerler içeren bir SKU (stok tutma birimi) sütunu vardır.

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

satır verilerinin tablolar arasında yayıldığı iki tablo içeren modeli gösteren Diyagramı. Tasarım aşağıdaki paragrafta açıklanmıştır.

İlk tablo Productolarak adlandırılır ve üç sütun içerir: Color, Productve SKU. İkinci tablo Product Categoryolarak 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 aşağıdaki görüntüde bazı tablo satırları gösterilir. Bu makaledeki tüm örnekler bu verileri temel alır.

Ürün ve Ürün Kategorisi tablolarını ve bazı veri satırlarını gösteren Diyagramı. 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, ProductT-shirt, ColorYeşil
    • SKU CL-02, ProductJeans, ColorBlue
    • SKU AC-01, ProductŞapka, ColorMavi
  • Product Category tablosunun iki satırı vardır:
    • SKU CL-01, CategoryGiyim
    • SKU AC-01, CategoryAksesuarlar

tablosunun CL-02ürün SKU'su 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: Product ve Product Category. Şimdi her iki tablodaki alanlar bir tablo görseline eklendiğinde ne olacağını görelim. Bu örnekte, SKU sütununun kaynağı Product tablosudur.

İki tablo ve dört sütun içeren bir tablo görseli içeren Veri bölmesini gösteren Diyagramı. SKU CL-02 ürününün Kategori değeri BLANK'tır.

ÜRÜN SKU'su Category için değerinin BLANK olduğuna dikkat edin. Bunun nedeni, bu ürün için Product Category tablosunda karşılık gelen 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 aşağıdakilere sahip olmasıdır:

  • 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 Power BI Desktop'taki Model İlişkileribölümüne bakın.

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 bunu yapabilirsiniz.

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ştirmekullanacak şekilde ayarlayı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.

    Tek bir Ürün boyutu tablosunda birleştirilmiş verileri gösteren diyagram.

  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 Product bölmesinde adlı tek bir tablo bulur. Ürünle ilgili tüm alanları içerir.

  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 görsele dikkat edin, ürün SKU'su CL-02 için kategori artık [Tanımsız]olarak görünüyor. Sorguda null kategoriler bu belirteç metin değeriyle değiştirildi.

    Product tablosunun Veri bölmesini gösteren diyagram. Ayrıca dört sütunlu bir tablo görseli de gösterir. SKU CL-02 ürününün Kategori değeri artık Tanımsız olarak etiketlenmiştir.

  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: Category ve Product.

    Veri bölmesini gösteren Diyagramı. Product tablosu Products hiyerarşisini içerir.

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ı Category görüntüleme klasöründeki Marketing alanını bulabilir.

Kategori alanının Pazarlama adlı bir görüntüleme klasörünün içinde yer aldığı Veri bölmesini gösteren diyagram.

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şki varsa, veri kaynağı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ıldığından, ilişkili tablolarda eşleşen satırlar olduğundan emin olun.

Bire bir çapraz kaynak grubu ilişkisini, yani sınırlı bir ilişkiyi gösteren diyagram.

Ş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.

Aşağıdaki paragrafta açıklanan iki tablo görselini gösteren diyagram.

Kaynaklar arası grup ilişkisi kullanan ilk tablo görselinde yalnızca iki satır görüntülenir. tablosunda eşleşen satır olmadığından ürün SKU Product Category eksik. Modeldeki tek bir birleştirilmiş tabloyu temel alan ikinci tablo görseli üç satır görüntüler.

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