Power BI Desktop'ta ilişkileri oluşturma ve yönetme

Birden çok tablonuz olduğunda, tüm bu tablolardaki verileri kullanarak analiz yapma olasılığınız vardır. Sonuçları doğru şekilde hesaplamak ve raporlarınızda doğru bilgileri görüntülemek için bu tablolar arasındaki ilişkiler gereklidir. Çoğu durumda hiçbir şey yapmanız gerekmez. Otomatik algılama özelliği bunu sizin için yapar. Ancak, bazen ilişkileri kendiniz oluşturmanız veya bir ilişkide değişiklik yapmanız gerekebilir. Her iki durumda da, Power BI Desktop'taki ilişkileri ve bunları oluşturma ve düzenlemeyi anlamak önemlidir.

Yükleme sırasında otomatik algılama

Aynı anda iki veya daha fazla tabloyu sorgularsanız, veriler yüklendiğinde Power BI Desktop sizin için ilişkileri bulmaya ve oluşturmaya çalışır. İlişki seçenekleri Kardinalite, Çapraz filtre yönü ve Bu ilişkiyi etkin yap seçenekleri otomatik olarak ayarlanır. Power BI Desktop, olası ilişkiler olup olmadığını belirlemek için sorguladığınız tablolardaki sütun adlarına bakar. Varsa, bu ilişkiler otomatik olarak oluşturulur. Power BI Desktop bir eşleşme olduğunu yüksek güvenilirlik düzeyiyle belirleyemezse ilişkiyi oluşturmaz. Ancak, ilişkileri el ile oluşturmak veya düzenlemek için İlişkileri yönet iletişim kutusunu kullanmaya devam edebilirsiniz.

Otomatik algılama ile ilişki oluşturma

Modelleme sekmesinde İlişkileri>yönet Otomatik Algıla'yı seçin.

Animation showing how to create a relationship with autodetect.

El ile ilişki oluşturma

  1. Modelleme sekmesinde İlişkileri>yönet Yeni'yi seçin.

  2. İlişki oluştur iletişim kutusundaki ilk tablo açılan listesinde bir tablo seçin. İlişkide kullanmak istediğiniz sütunu seçin.

  3. İkinci tablo açılan listesinde, ilişkide olmasını istediğiniz diğer tabloyu seçin. Kullanmak istediğiniz diğer sütunu seçin ve ardından Tamam'ı seçin.

    Animation showing how to create a manual relationship.

Power BI Desktop varsayılan olarak Kardinalite (yön), Çapraz filtre yönü ve Bu ilişkiyi yeni ilişkiniz için etkin yap seçeneklerini otomatik olarak yapılandırıyor. Ancak, gerekirse bu ayarları değiştirebilirsiniz. Daha fazla bilgi için bkz . Ek seçenekleri anlama.

İlişki için seçilen tablolardan hiçbiri benzersiz değerlere sahip değilse şu hatayı görürsünüz: Sütunlardan birinin benzersiz değerleri olmalıdır. İlişkideki en az bir tablo, tüm ilişkisel veritabanı teknolojileri için ortak bir gereksinim olan benzersiz bir anahtar değerleri listesine sahip olmalıdır .

Bu hatayla karşılaşırsanız sorunu çözmenin birkaç yolu vardır:

  • Benzersiz değerlere sahip bir sütun oluşturmak için Yinelenenleri Kaldır'ı kullanın. Bu yaklaşımın dezavantajı, yinelenen satırlar kaldırıldığında bilgileri kaybetmenizdir. Genellikle bir anahtar (satır) iyi bir nedenle çoğaltılır.
  • Modele ayrı anahtar değerleri listesinden oluşturulmuş bir ara tablo ekleyin. Bu tablo, ilişkideki her iki özgün sütuna da bağlanır.

Daha fazla bilgi için bu blog gönderisine bakın.

Alternatif olarak, Model görünümü diyagramı düzenlerinde, ilişki oluşturmak için bir sütunu bir tablodan başka bir tablodaki bir sütuna sürükleyip bırakabilirsiniz.

İlişkiyi düzenleme

Power BI'da ilişkiyi düzenlemenin iki yolu vardır.

İlişkiyi düzenlemenin ilk yöntemi, Özellikler bölmesindeki Özellikler bölmesindeki İlişkileri düzenleme yöntemini kullanmaktır. Burada, özellikler bölmesindeki ilişki seçeneklerini görmek için iki tablo arasındaki herhangi bir satırı seçebilirsiniz. İlişki seçeneklerini görmek için Özellikler bölmesini genişletmeyi unutmayın.

Screenshot of adjusting relationships in the properties pane.

Özellikler bölmesinde ilişkileri düzenlemeye ilişkin bir video gösterimi de görebilirsiniz.

bir ilişkiyi düzenlemenin diğer yöntemi, Power BI Desktop'ın içinden birçok yol açabileceğiniz İlişki düzenleyicisi iletişim kutusunu kullanmaktır. Aşağıdaki listede İlişki düzenleyicisi iletişim kutusunu açmanın farklı yolları gösterilmektedir:

Rapor görünümünde aşağıdakilerden birini yapın:

  • Modelleme şeridi İlişkileri yönet'i >ve ardından ilişkiyi seçin ve Düzenle'yi seçin.
  • Alanlar listesinden bir tablo seçin, ardından Tablo araçları şeridi İlişkileri yönet'i> seçin, ardından ilişkiyi seçin ve ardından Düzenle'yi seçin.

Veri görünümünde Tablo araçları şeridi İlişkileri yönet'i >seçin, ardından ilişkiyi seçin ve ardından Düzenle'yi seçin.

Model görünümünde aşağıdakilerden birini yapın:

  • Giriş şeridi İlişkileri yönet'i >seçin, ardından ilişkiyi seçin ve ardından Düzenle'yi seçin.
  • İki tablo arasındaki herhangi bir satıra çift tıklayın.
  • İki tablo arasındaki herhangi bir satıra sağ tıklayın ve özellikler'i seçin.
  • İki tablo arasındaki herhangi bir satırı seçin ve ardından Özellikler bölmesinde İlişki düzenleyicisini aç'ı seçin.

Son olarak, herhangi bir görünümden bir ilişkiyi düzenleyebilir, herhangi bir tablonun bağlam menüsüne ulaşmak için üç noktaya sağ tıklayabilir veya seçebilir, ardından İlişkileri yönet'i ve ardından Düzenle'yi seçebilirsiniz

Aşağıdaki görüntüde İlişkiyi düzenle penceresinin ekran görüntüsü gösterilmektedir.

Screenshot of the edit relationship window.

Farklı yöntemler kullanarak ilişkileri düzenleme

İlişkileri düzenle iletişim kutusunu kullanmak, Power BI'da ilişkileri düzenlemeye yönelik daha kılavuzlu bir deneyimdir ve şu anda önizleme aşamasındadır. Her tabloda verilerin önizlemesini görebilirsiniz. Siz farklı sütunlar seçtikçe, pencere ilişkiyi otomatik olarak doğrular ve uygun kardinaliteyi ve çapraz filtre seçimlerini sunar.

Özellikler bölmesinde ilişkileri düzenleme, Power BI'da ilişkileri düzenlemeye kolaylaştırılmış bir yaklaşımdır. Yalnızca aralarından seçim yapabileceğiniz tablo adlarını ve sütunlarını görürsünüz, size veri önizlemesi sunulmaz ve yaptığınız ilişki seçimleri yalnızca Değişiklikleri uygula'yı seçtiğinizde doğrulanır. Özellikler bölmesinin ve kolaylaştırılmış yaklaşımının kullanılması, özellikle DirectQuery bağlantılarını kullanırken büyük veri senaryoları için önemli olabilecek bir ilişkiyi düzenlerken oluşturulan sorgu sayısını azaltır. Özellikler bölmesi kullanılarak oluşturulan ilişkiler, İlişkileri düzenle iletişim kutusunda oluşturulmasına izin verilen ilişkilerden daha gelişmiş de olabilir.

Ayrıca, Ctrl tuşuna basarak ve birden çok ilişki seçmek için birden çok satır seçerek Model görünümü diyagram düzenlerinde birden çok ilişki seçebilirsiniz. Ortak özellikler Özellikler bölmesinde düzenlenebilir ve Değişiklikleri uygula, değişiklikleri tek bir işlemde işler.

Tek veya çok seçili ilişkiler, klavyenizde Delete tuşuna basılarak da silinebilir. Silme eylemini geri alamazsınız, bu nedenle bir iletişim kutusu ilişkileri silmeyi onaylamanızı ister.

Önemli

Özellikler bölmesi özelliğindeki ilişkileri düzenleme şu anda önizleme aşamasındadır. Önizleme aşamasında işlevsellik ve belgeler değişebilir. Power BI Desktop'ta Dosya > Seçenekleri ve ayarları > Seçenekler > Önizleme özellikleri'ne gidip GENEL bölümünde İlişki bölmesinin yanındaki onay kutusunu seçerek bu özelliği etkinleştirmeniz gerekir.

Daha fazla seçenek yapılandırma

bir ilişki oluşturduğunuzda veya düzenlediğinizde, daha fazla seçenek yapılandırabilirsiniz. Varsayılan olarak, Power BI Desktop en iyi tahminine göre otomatik olarak daha fazla seçenek yapılandırmaktadır. Bu, sütunlardaki verilere göre her ilişki için farklı olabilir.

Kardinalite

Kardinalite seçeneği aşağıdaki ayarlardan birine sahip olabilir:

Çoka bir (*:1): Çoka bir ilişki en yaygın, varsayılan ilişki türüdür. Bu, belirli bir tablodaki sütunun bir değerin birden fazla örneğine sahip olabileceği ve genellikle arama tablosu olarak bilinen diğer ilişkili tablonun değerin yalnızca bir örneğine sahip olduğu anlamına gelir.

Bire bir (1:1): Bire bir ilişkide, bir tablodaki sütun belirli bir değerin yalnızca bir örneğine sahiptir ve diğer ilişkili tablo belirli bir değerin yalnızca bir örneğine sahiptir.

Bire çok (1:*): Bire çok ilişkisinde, bir tablodaki sütun belirli bir değerin yalnızca bir örneğine sahiptir ve diğer ilişkili tablo bir değerin birden fazla örneğine sahip olabilir.

Çoka çok (*:*): Bileşik modellerle tablolar arasında çoka çok ilişki kurabilirsiniz ve bu da tablolardaki benzersiz değerlerin gereksinimlerini kaldırır. Ayrıca ilişkiler oluşturmak için yalnızca yeni tabloları sunma gibi önceki geçici çözümleri de kaldırır. Daha fazla bilgi için bkz . Çoka çok kardinalitesi olan ilişkiler.

Kardinalitenin ne zaman değiştireceği hakkında daha fazla bilgi için bkz . Ek seçenekleri anlama.

Çapraz filtre yönü

Çapraz filtre yönü seçeneği aşağıdaki ayarlardan birine sahip olabilir:

Her ikisi de: Filtreleme amacıyla her iki tablo da tek bir tablo gibi değerlendirilir. Her İkisi ayarı, onu çevreleyen birçok arama tablosu içeren tek bir tabloyla düzgün çalışır. Bir örnek, departmanı için arama tablosu içeren bir satış fiili değerleri tablosudur. Bu yapılandırma genellikle yıldız şeması yapılandırması (birkaç arama tablosu içeren merkezi bir tablo) olarak adlandırılır. Ancak, arama tablolarının da bulunduğu iki veya daha fazla tablonuz varsa (bazıları ortaktır) Her İkisi ayarını kullanmak istemezsiniz. Önceki örnekten devam etmek için bu örnekte, her departman için hedef bütçeyi kaydeden bir bütçe satış tablonuz da vardır. Ayrıca departman tablosu hem satış hem de bütçe tablosuna bağlıdır. Bu tür bir yapılandırma için Her İkisi ayarından kaçının.

Tek: En yaygın ve varsayılan yön, bağlı tablolardaki filtreleme seçeneklerinin değerlerin toplandığı tabloda çalıştığı anlamına gelir. Excel 2013 veya önceki bir veri modelinde Power Pivot'ı içeri aktarırsanız, tüm ilişkilerin tek bir yönü olur.

Çapraz filtre yönünün ne zaman değiştireceği hakkında daha fazla bilgi için bkz . Ek seçenekleri anlama.

Bu ilişkiyi etkinleştir

İşaretlendiğinde, ilişki etkin, varsayılan ilişki görevi görür. İki tablo arasında birden fazla ilişki olduğu durumlarda etkin ilişki, Power BI Desktop'ın her iki tabloyu da içeren görselleştirmeleri otomatik olarak oluşturması için bir yol sağlar.

Belirli bir ilişkinin ne zaman etkin hale getirildiğinden emin olmak için bkz . Ek seçenekleri anlama.

İlişkileri anlama

bir ilişkiyle iki tabloyu birbirine bağladıktan sonra, her iki tablodaki verilerle tek bir tablo gibi çalışabilirsiniz. Ardından, ilişki ayrıntıları konusunda endişelenmeniz veya bu tabloları içeri aktarmadan önce tek bir tabloda düzleştirmeniz gerekmez. Birçok durumda Power BI Desktop sizin için otomatik olarak ilişkiler oluşturabilir. Ancak, Power BI Desktop iki tablo arasındaki bir ilişkinin mevcut olması gerektiğini yüksek düzeyde kesin olarak belirleyemezse, ilişki otomatik olarak oluşturulmaz. Bu durumda, bunu yapmalısınız.

Power BI Desktop'ta ilişkilerin nasıl çalıştığını daha iyi göstermek için hızlı bir öğreticiyi gözden geçirelim.

İpucu

Bu dersi kendiniz tamamlayabilirsiniz:

  1. Aşağıdaki ProjectHours tablosunu bir Excel çalışma sayfasına kopyalayın (başlık hariç), tüm hücreleri seçin ve ardından Tablo Ekle'yi>seçin.
  2. Tablo Oluştur iletişim kutusunda Tamam'ı seçin.
  3. Herhangi bir tablo hücresini seçin, Tablo Tasarımı>Tablo Adı'nı seçin ve projecthours girin.
  4. Aynı işlemi CompanyProject tablosu için de yapın.
  5. Power BI Desktop'ta Veri Al'ı kullanarak verileri içeri aktarın. Veri kaynağı olarak iki tabloyu seçin ve ardından Yükle'yi seçin.

İlk tablo olan ProjectHours, bir kişinin belirli bir projede çalıştığı saat sayısını kaydeden iş biletlerinin kaydıdır.

ProjectHours

Bilet Gönderilen Saat Proje DateSubmit
1001 Brewer, Alan 22 Mavi 1/1/2013
1002 Brewer, Alan 26 Kırmızı 2/1/2013
1003 Ito, Shu 34 Sarı 12/4/2012
1004 Brewer, Alan 13 Turuncu 1/2/2012
1005 Bowen, Eli 29 Mor 10/1/2013
1006 Bento, Nuno 35 Yeşil 2/1/2013
1007 Hamilton, David 10 Sarı 10/1/2013
1008 Han, Mu 28 Turuncu 1/2/2012
1009 Ito, Shu 22 Mor 2/1/2013
1010 Bowen, Eli 28 Yeşil 10/1/2013
1011 Bowen, Eli 9 Mavi 10/15/2013

Bu ikinci tablo olan CompanyProject, atanmış önceliğe sahip projelerin listesidir: A, B veya C.

CompanyProject

ProjName Öncelik
Mavi A
Kırmızı K
Yeşil C
Sarı C
Mor K
Turuncu C

Her tablonun bir proje sütunu olduğuna dikkat edin. Her biri biraz farklı olarak adlandırılır, ancak değerler aynı gibi görünür. Bu fark önemli ve yakında bu farka geri döneceğiz.

İki tablomuzu bir modele aktardığımıza göre şimdi bir rapor oluşturalım. Almak istediğimiz ilk şey, proje önceliğine göre gönderilen saat sayısıdır, bu nedenle Alanlar bölmesinden Öncelik ve Saatler'i seçeriz.

Screenshot of the Priority and Hours fields selected from the Fields pane.

Tablomuza rapor tuvalinde baktığımızda, her proje için saat sayısının 256 olduğunu ve toplam değerin de bu olduğunu görürsünüz. Bu numaranın doğru olmadığı açıktır. Neden? Bunun nedeni, bu iki tablo arasında ilişki olmadan başka bir tablodaki (CompanyProject tablosundaki Öncelik) değerlere göre dilimlenmiş bir tablodan (Project tablosundaki saatler) değerlerin toplamını hesaplayamamamızdır.

Şimdi bu iki tablo arasında bir ilişki oluşturalım.

Her iki tabloda da proje adıyla gördüğümüz ancak birbirine benzeyen değerlere sahip sütunları hatırlıyor musunuz? Tablolarımız arasında bir ilişki oluşturmak için bu iki sütunu kullanacağız.

Neden bu sütunlar? ProjectHours tablosundaki Project sütununa bakarsak Mavi, Kırmızı, Sarı, Turuncu gibi değerler görürüz. Aslında, aynı değere sahip birkaç satır görüyoruz. Aslında Project için birçok renk değerimiz vardır.

CompanyProject tablosundaki ProjName sütununa bakarsak, proje adı için renk değerlerinden yalnızca birinin olduğunu görürüz. Bu tablodaki her renk değeri benzersizdir ve bu önemlidir çünkü bu iki tablo arasında bir ilişki oluşturabiliriz. Bu durumda, çoka bir ilişki. Çoka bir ilişkide, tablolardan birinde en az bir sütun benzersiz değerler içermelidir. Bazı ilişkiler için daha sonra bakacağımız bazı seçenekler daha vardır. Şimdilik iki tablomuzun her birinde proje sütunları arasında bir ilişki oluşturalım.

Yeni ilişkiyi oluşturmak için

  1. Modelleme sekmesinde İlişkileri yönet'i seçin.

  2. İlişkileri yönet bölümünde Yeni'yi seçerek İlişki oluştur iletişim kutusunu açın. Burada ilişkimiz için istediğimiz tabloları, sütunları ve diğer ayarları seçebiliriz.

  3. İlk açılan listede, ilk tablo olarak ProjectHours'ı ve ardından Project sütununu seçin. Bu taraf ilişkimizin pek çok tarafı.

  4. İkinci açılan listede, CompanyProject ikinci tablo olarak önceden seçilmiştir. ProjName sütununu seçin. Bu taraf ilişkimizin tek tarafı.

  5. İlişki seçenekleri için varsayılan değerleri kabul edin ve tamam'ı seçin.

    Screenshot of the Create relationship dialog box.

  6. İlişkileri yönet iletişim kutusunda Kapat'ı seçin.

Tam açıklamanın yararına, bu ilişkiyi zor yoldan oluşturdunuz. İlişkileri yönet iletişim kutusunda Otomatik Algıla'nın seçilmesini sağlayabilirsiniz. Aslında, her iki sütun da aynı ada sahipse verileri yüklediğinizde otomatik algılama sizin için ilişkiyi otomatik olarak oluştururdu.

Şimdi rapor tuvalimizdeki tabloya yeniden göz atalım.

Screenshot of the Priority and Hours fields selected from the Fields pane with new relationship.

Çok daha iyi görünüyor, değil mi?

Saatleri Önceliğe göre topladığımızda, Power BI Desktop CompanyProject arama tablosundaki benzersiz renk değerlerinin her örneğini arar, ProjectHours tablosunda bu değerlerin her bir örneğini arar ve her benzersiz değer için bir toplam hesaplar.

Otomatik algılama ile bu kadar çok işlem yapmanız bile gerekmeyebilir.

Ek seçenekleri anlama

Otomatik algıla veya el ile oluşturduğunuz ilişki oluşturulduğunda, Power BI Desktop tablolarınızdaki verilere göre ek seçenekleri otomatik olarak yapılandırmaktadır. Bu ek ilişki seçenekleri İlişki oluştur ve İlişkiyi düzenle iletişim kutularının alt kısmında bulunur.

Screenshot of the lower portion of the Create relationship dialog box showing Cardinality and Cross filter direction options.

Power BI genellikle bu seçenekleri otomatik olarak ayarlar ve bunları ayarlamanız gerekmez. Ancak bu seçenekleri kendiniz yapılandırmak isteyebileceğiniz birkaç durum vardır.

Otomatik ilişki güncelleştirmeleri

Power BI'ın raporlarınızdaki ve modellerinizdeki ilişkileri nasıl ele alıp otomatik olarak ayarlayabileceğini yönetebilirsiniz. Power BI'ın ilişki seçeneklerini nasıl işlediğini belirtmek için Power BI Desktop'taki Dosya>Seçenekleri ve ayarlar>Seçenekler'i ve ardından sol bölmede Veri Yükü'nü seçin. İlişkiler seçenekleri görüntülenir.

Screenshot of the Options box showing the Relationships settings in the Data Load tab.

Seçilebilen ve etkinleştirilebilen üç seçenek vardır:

  • İlk yüklemede veri kaynaklarından ilişkileri içeri aktar: Bu seçenek varsayılan olarak seçilidir. Seçildiğinde Power BI, veri ambarınızdaki yabancı anahtar/birincil anahtar ilişkileri gibi veri kaynağınızda tanımlanan ilişkileri denetler. Bu tür ilişkiler varsa, ilk kez veri yüklediğinizde bunlar Power BI veri modeline yansıtılır. Bu seçenek, bu ilişkileri kendiniz bulmanızı veya tanımlamanızı gerektirmek yerine modelinizle çalışmaya hızlı bir şekilde başlamanızı sağlar.

  • Verileri yenilerken ilişkileri güncelleştirin veya silin: Bu seçenek varsayılan olarak seçili değildir. Bunu seçerseniz Power BI, anlam modeliniz yenilendiğinde veri kaynağı ilişkilerindeki değişiklikleri denetler. Bu ilişkiler değiştirilirse veya kaldırılırsa Power BI bu değişiklikleri kendi veri modelinde yansıtır ve bunları eşleşecek şekilde güncelleştirir veya siler.

    Uyarı

    Tanımlanan ilişkileri kullanan satır düzeyi güvenlik kullanıyorsanız, bu seçeneğin seçilmesini önermeyiz. RLS ayarlarınızın bağlı olduğu bir ilişkiyi kaldırırsanız modeliniz daha az güvenli hale gelebilir.

  • Veriler yüklendikten sonra yeni ilişkileri otomatik algıla: Bu seçenek, yükleme sırasında otomatik algılama bölümünde açıklanmıştır.

Gelecekteki veri güncelleştirmeleri farklı bir kardinalite gerektirir

Normalde, Power BI Desktop ilişki için en iyi kardinaliteyi otomatik olarak belirleyebilir. Verilerin gelecekte değişeceğini bildiğiniz için otomatik ayarı geçersiz kılmanız gerekiyorsa Kardinalite denetimiyle değiştirebilirsiniz. Şimdi farklı bir kardinalite seçmemiz gereken bir örneğe bakalım.

CompanyProjectPriority tablosu, tüm şirket projelerinin ve önceliklerinin listesidir. ProjectBudget tablosu, bütçenin onaylandığı proje kümesidir.

CompanyProjectPriority

ProjName Öncelik
Mavi A
Kırmızı K
Yeşil C
Sarı C
Mor K
Turuncu C

ProjectBudget

Onaylı Projeler BudgetAllocation AyırmaTarihi
Mavi 40,000 12/1/2012
Kırmızı 100.000 12/1/2012
Yeşil 50,000 12/1/2012

ProjectBudget tablosundaki Approved Projects sütunu ile CompanyProjectPriority tablosundaki ProjectName sütunu arasında bir ilişki oluşturursak, Power BI Kardinalite'yiotomatik olarak Bire bir (1:1) ve Çapraz filtre yönünü Her İkisi olarak ayarlar.

Screenshot of the Create relationship dialog box with Cardinality to One to one (1:1) and Cross filter direction to Both.

Power BI'ın bu ayarları oluşturmasının nedeni, Power BI Desktop'ta iki tablonun en iyi birleşiminin aşağıdaki gibidir:

ProjName Öncelik BudgetAllocation AyırmaTarihi
Mavi A 40,000 12/1/2012
Kırmızı K 100.000 12/1/2012
Yeşil C 50,000 12/1/2012
Sarı C

Mor K

Turuncu C

Birleştirilmiş tablonun ProjName sütununda yinelenen değerler olmadığından iki tablomuz arasında bire bir ilişki vardır. Her değer yalnızca bir kez gerçekleştiğinden, ProjName sütunu benzersizdir; bu nedenle, iki tablodaki satırlar herhangi bir yineleme olmadan doğrudan birleştirilebilir.

Ancak, verileri bir sonraki yenilediğinizde değişeceğini bildiğinizi varsayalım. ProjectBudget tablosunun yenilenen bir sürümünde artık Mavi ve Kırmızı projeler için ek satırlar bulunur:

ProjectBudget

Onaylı Projeler BudgetAllocation AyırmaTarihi
Mavi 40,000 12/1/2012
Kırmızı 100.000 12/1/2012
Yeşil 50,000 12/1/2012
Mavi 80,000 6/1/2013
Kırmızı 90,000 6/1/2013

Bu ek satırlar, iki tablonun en iyi birleşiminin şu şekilde olduğu anlamına gelir:

ProjName Öncelik BudgetAllocation AyırmaTarihi
Mavi A 40,000 12/1/2012
Kırmızı K 100.000 12/1/2012
Yeşil C 50,000 12/1/2012
Sarı C

Mor K

Turuncu C

Mavi A 80000 6/1/2013
Kırmızı K 90000 6/1/2013

Bu yeni birleştirilmiş tabloda ProjName sütununda yinelenen değerler vardır. Tablo yenilendikten sonra iki özgün tablonun bire bir ilişkisi olmaz. Bu durumda, gelecekteki güncelleştirmelerin ProjName sütununun yinelemelere neden olacağını bildiğimiz için KardinaliteyiÇok olarak ayarlamak istiyoruz (*:1), çok tarafı ProjectBudget'te, bir tarafı da CompanyProjectPriority'de olacak şekilde.

Karmaşık bir tablo ve ilişki kümesi için Çapraz filtre yönünü ayarlama

Çoğu ilişki için çapraz filtre yönü Her İkisi olarak ayarlanır. Ancak, bu seçeneği varsayılandan farklı ayarlamanız gerekebilecek daha yaygın olmayan bazı durumlar vardır. Örneklerden biri, her ilişkinin tek bir yöne ayarlandığı eski bir Power Pivot sürümünden modeli içeri aktarıyor olmanızdır.

Her İkisi ayarı, Power BI Desktop'ın bağlı tabloların tüm yönlerine tek bir tablo gibi davranmasını sağlar. Bununla birlikte, Power BI Desktop'ın bir ilişkinin çapraz filtre yönünü Her İkisi olarak ayarlayabildiği ve raporlama amacıyla açık olmayan bir varsayılanlar kümesini tutabildiği bazı durumlar vardır. bir ilişki çapraz filtre yönü Her İkisi olarak ayarlı değilse, bunun nedeni genellikle belirsizlik oluşturmasıdır. Varsayılan çapraz filtre ayarı sizin için çalışmıyorsa, bunu belirli bir tabloya veya Her İkisi olarak ayarlamayı deneyin.

Tek yönlü çapraz filtreleme birçok durumda işe yarar. Aslında, Excel 2013 veya önceki sürümlerinde Power Pivot'tan bir modeli içeri aktardıysanız, tüm ilişkiler tek yönlü olarak ayarlanır. Tek yön, bağlı tablolardaki filtreleme seçeneklerinin toplama işinin gerçekleştiği tabloda çalıştığı anlamına gelir. Bazen çapraz filtrelemeyi anlamak biraz zor olabilir, bu nedenle bir örneğe bakalım.

Tek yönlü çapraz filtreleme ile proje saatlerini özetleyen bir rapor oluşturursanız, CompanyProject tablosuna ve Öncelik sütununa veya CompanyEmployee tablosuna ve City sütununa göre özetlemeyi (veya filtrelemeyi) seçebilirsiniz. Ancak, proje başına çalışan sayısını saymak istiyorsanız (daha az sık sorulan bir soru), işe yaramaz. Tümü aynı olan bir değer sütunu alırsınız. Aşağıdaki örnekte, her iki ilişkinin çapraz filtreleme yönü tek bir yöne ayarlanmıştır: ProjectHours tablosuna doğru. Değerler kutusunda Projectalanı Sayı olarak ayarlanır:

Screenshot of the visualization tab used with the Employee and Project fields.

Filtre belirtimi CompanyProject'ten ProjectHours'a (aşağıdaki görüntüde gösterildiği gibi) akacak, ancak CompanyEmployee'ye akmayacak.

Diagram of a cross filtering example with flow from CompanyProject to ProjectHours.

Ancak çapraz filtreleme yönünü Her İkisi olarak ayarlarsanız bu işlem çalışır. Her İkisi ayarı, filtre belirtiminin CompanyEmployee'ye akmasını sağlar.

Diagram of a cross filtering example with flow both ways

Çapraz filtreleme yönü Her İkisi olarak ayarlandığında raporumuz doğru görünür:

Screenshot of cross filtering direction set to Both.

Her iki yönü de çapraz filtreleme, daha önce gösterilen desen gibi tablo ilişkileri deseni için iyi çalışır. Bu şema en yaygın olarak yıldız şeması olarak adlandırılır, örneğin:

Diagram of cross filtering both directions in star schema.

Çapraz filtreleme yönü, bu diyagramdaki gibi veritabanlarında genellikle bulunan daha genel bir desenle iyi çalışmaz:

Diagram of cross filtering in both directions on a database pattern.

Döngüleri olan bunun gibi bir tablo deseni varsa çapraz filtreleme belirsiz bir ilişki kümesi oluşturabilir. Örneğin, TableX'ten bir alanı toplayıp TableY'de bir alana göre filtrelemeyi seçerseniz, filtrenin üst tablo veya alt tablo üzerinden nasıl hareket etmesi gerektiği net değildir. Bu tür bir desenin yaygın bir örneği, TableX'in gerçek verileri olan bir satış tablosu olarak ve TableY'nin bütçe verileri olmasıdır. Ardından ortadaki tablolar, bölme veya bölge gibi her iki tablonun da kullandığı arama tablolarıdır.

Etkin/etkin olmayan ilişkilerde olduğu gibi Power BI Desktop da raporlarda belirsizlik oluşturacaksa bir ilişkinin Her İkisi olarak ayarlanmasına izin vermez. Bu durumla başa çıkabilmenizin birkaç farklı yolu vardır. En yaygın iki öğe şunlardır:

  • Belirsizliği azaltmak için ilişkileri silin veya etkin değil olarak işaretleyin. Ardından, bir ilişki çapraz filtrelemesini Her İkisi olarak ayarlayabilirsiniz.
  • Döngüleri ortadan kaldırmak için bir tabloyu iki kez (ikinci kez farklı bir adla) getirin. Bunu yaptığınızda ilişkiler deseni yıldız şeması gibi olur. Yıldız şeması ile tüm ilişkiler Her İkisi olarak ayarlanabilir.

Yanlış etkin ilişki

Power BI Desktop otomatik olarak ilişkiler oluşturduğunda, bazen iki tablo arasında birden fazla ilişkiyle karşılaşır. Bu durum oluştuğunda, ilişkilerden yalnızca biri etkin olarak ayarlanır. Etkin ilişki varsayılan ilişki görevi görür, böylece iki farklı tablodan alan seçtiğinizde Power BI Desktop sizin için otomatik olarak bir görselleştirme oluşturabilir. Ancak bazı durumlarda otomatik olarak seçilen ilişki yanlış olabilir. İlişkiyi etkin veya etkin olmayan olarak ayarlamak veya İlişkiyi düzenle iletişim kutusunda etkin ilişkiyi ayarlamak için İlişkileri yönet iletişim kutusunu kullanın.

Varsayılan bir ilişki olduğundan emin olmak için Power BI Desktop, belirli bir anda iki tablo arasında yalnızca tek bir etkin ilişkiye izin verir. Bu nedenle, önce geçerli ilişkiyi etkin değil olarak ayarlamanız ve ardından etkin olmasını istediğiniz ilişkiyi ayarlamanız gerekir.

Bir örneğe bakalım. İlk tablo ProjectTickets, ikinci tablo ise EmployeeRole tablosudur.

ProjectTickets

Bilet OpenedBy Gönderilen Saat Proje DateSubmit
1001 Perham, Tom Brewer, Alan 22 Mavi 1/1/2013
1002 Roman, Daniel Brewer, Alan 26 Kırmızı 2/1/2013
1003 Roth, Daniel Ito, Shu 34 Sarı 12/4/2012
1004 Perham, Tom Brewer, Alan 13 Turuncu 1/2/2012
1005 Roman, Daniel Bowen, Eli 29 Mor 10/1/2013
1006 Roth, Daniel Bento, Nuno 35 Yeşil 2/1/2013
1007 Roth, Daniel Hamilton, David 10 Sarı 10/1/2013
1008 Perham, Tom Han, Mu 28 Turuncu 1/2/2012
1009 Roman, Daniel Ito, Shu 22 Mor 2/1/2013
1010 Roth, Daniel Bowen, Eli 28 Yeşil 10/1/2013
1011 Perham, Tom Bowen, Eli 9 Mavi 10/15/2013

EmployeeRole

Çalışan Rol
Bento, Nuno Proje Yöneticisi
Bowen, Eli Proje Müşteri Adayı
Brewer, Alan Proje Yöneticisi
Hamilton, David Proje Müşteri Adayı
Han, Mu Proje Müşteri Adayı
Ito, Shu Proje Müşteri Adayı
Perham, Tom Proje Sponsoru
Roman, Daniel Proje Sponsoru
Roth, Daniel Proje Sponsoru

Burada aslında iki ilişki vardır:

  • EmployeeRole tablosundaki Çalışan ile ProjectTickets tablosundaki SubmittedBy arasında.
  • ProjectTickets tablosundaki OpenedBy ile EmployeeRole tablosundaki Çalışan arasında.

Screenshot of a two-relationship example.

Modele her iki ilişkiyi de eklersek (önce OpenedBy), İlişkileri yönet iletişim kutusunda OpenedBy'nin etkin olduğu gösterilir:

Screenshot of a OpenedBy active in the Manage relationships dialog box.

Şimdi EmployeeRole'daki Rol ve Çalışan alanlarını ve rapor tuvalindeki bir tablo görselleştirmesinde ProjectTickets'ten Saatler alanını kullanan bir rapor oluşturursak, proje bileti açan tek kişiler onlar olduğu için yalnızca proje sponsorlarını görürüz.

Screenshot shows the Employee, Role, and Hours fields selected.

Etkin ilişkiyi değiştirebilir ve OpenedBy yerine SubmittedBy elde edebiliriz. İlişkileri yönet bölümünde ProjectTickets(OpenedBy) - EmployeeRole(Employee) ilişkisinin işaretini kaldırın ve employeeRole(Employee) ile Project Tickets(SubmittedBy) ilişkisini denetleyin.

Screenshot of changing the active relationship in the Manage relationship dialog box.

İlişki görünümünde tüm ilişkilerinizi görme

Bazen modelinizde birden çok tablo ve bunlar arasında karmaşık ilişkiler olabilir. Power BI Desktop'taki ilişki görünümü, modelinizdeki tüm ilişkileri, bunların yönünü ve kardinalitesini kolay anlaşılır ve özelleştirilebilir bir diyagramda gösterir.

Daha fazla bilgi edinmek için bkz . Power BI Desktop'ta İlişki görünümüyle çalışma.

Sorun giderme

Bu bölüm, Power BI'da ilişkilerle çalışırken rehberlik ve sorun giderme bilgileri sağlar.

Alanlar arasındaki ilişkiler belirlenemiyor

Power BI, kullanılan modelden ilişkileri çıkararak görsellerdeki ilgili verileri göstermeye çalışır. Bazen bu tür çıkarımlar belirgin değildir ve görselinizde belirli sütunlar arasında ilişki olmadığını belirten bir hata gördüğünüzde şaşırabilirsiniz.

Power BI'ın alanların ilişkili olup olmadığını nasıl belirlediğini açıklamak için aşağıdaki bölümlerde yer alan birkaç senaryoyu göstermek için örnek bir model kullanalım. Aşağıdaki görüntüde örnek senaryolarda kullanacağımız örnek model gösterilmektedir.

Screenshot of a sample model used in troubleshooting scenarios.

Senaryo 1: Geleneksel yıldız şeması ve ölçü kısıtlaması sağlanmadı. Önceki görüntüdeki örnek modele bakarak, önce Vendor - Purchases - Product tablolarındaki görüntülerin sağ yarısına bakalım. Bu örnek, Olgu tablosu (Satın Almalar) ve iki Boyut tablosu (Ürün ve Satıcı) içeren geleneksel bir yıldız şemasıdır. Boyut tabloları ile olgu tablosu arasındaki ilişki 1 ile Çok arasındadır (bir ürün birçok satın alma işlemine, bir satıcı birçok satın alma işlemine karşılık gelir). Bu tür bir şemada, X ürünü için hangi satışlar var? ve Satıcı Y için hangi satışlarımız var? ve Vendor Y hangi ürünleri satıyor? gibi soruları yanıtlayabiliriz.

Ürünler ve Satıcılar arasında bağıntı sağlamak istiyorsak, aynı ürün ve satıcıya sahip bir giriş olup olmadığını görmek için Satın Almalar tablosuna bakarak bunu yapabiliriz. Örnek sorgu aşağıdaki örneğe benzer olabilir:

Correlate Product[Color] with Vendor[Name] where CountRows(Purchases)>0

where CountRows(Purchases)>0, Power BI'ın ilgili verilerin döndürülmesini sağlamak için ekleyeceğini örtük bir kısıtlamadır. Bu bağıntıyı Satın Almalar tablosu aracılığıyla yaparak, olgu tablosunda en az bir girişi olan Product-Vendor eşleştirmelerini, veri perspektifinden anlamlı olan eşleştirmeleri döndürebiliriz. Hiç satış yapılmamış olan (analiz için işe yaramaz) Ürün Satıcısı'nın duyarsız birleşimlerinin görüntülenmemesini bekleyebilirsiniz.

Senaryo 2: Geleneksel yıldız şeması ve ölçü kısıtlaması sağlandı. Senaryo 1'deki önceki örnekte, kullanıcı özetlenmiş sütun (örneğin, Toplam/Ortalama/Satın Alma Miktarı Sayısı) veya model ölçüsü (Ayrı VendID Sayısı) biçiminde bir kısıtlama sağlıyorsa, Power BI aşağıdaki örnek biçiminde bir sorgu oluşturabilir:

Correlate Product[Color] with Vendor[Name] where MeasureConstraint is not blank

Böyle bir durumda Power BI, kullanıcı tarafından sağlanan kısıtlama (boş olmayan) için anlamlı değerler içeren birleşimler döndürmeye çalışır. Kullanıcı tarafından sağlanan kısıtlama yeterli olduğundan Power BI'ın countRows(Purchases)>0 için önceki Senaryo 1'de yapılan gibi kendi örtük kısıtlamasını da eklemesi gerekmez.

Senaryo 3: Yıldız olmayan şema ve ölçü kısıtlaması sağlanmadı. Bu senaryoda, dikkatimizi bir boyut tablosu (Ürün) ve iki Olgu Tablosunun (Satış, Satın Almalar) bulunduğu Sales - Product - Purchases tablolarının bulunduğu modelin merkezine odaklayacağız. Bu örnek bir yıldız şeması olmadığından Senaryo 1'de yaptığımız soruların aynısını yanıtlayamazsınız. Satın Almalar'ın Ürün ile Çok-1 ilişkisi ve Ürün'ün Satış ile 1 ile Çok ilişkisi olduğundan, Satın Almalar ve Satışlar arasında bağıntı oluşturmaya çalıştığımızı varsayalım. Satışlar ve Satın Almalar dolaylı olarak Çoka Çok'tır. Bir Ürünü birçok Satın Alma işlemine, bir Ürünü de birçok satışa bağlayabiliriz, ancak bir Satışı birçok Satın Alma işlemine veya tam tersi olarak ilişkilendiremiyoruz. Yalnızca çok sayıda Satın Alma öğesini birçok Satışa bağlayabiliriz.

Bu durumda, Bir görselde Purchase[VenID] ve Sales[CustID] birleştirmeye çalışırsak, Power BI'ın bu tablolar arasındaki Çoka Çok ilişkisi nedeniyle uygulayabileceği somut bir kısıtlama yoktur. Çeşitli senaryolar için uygulanabilecek özel kısıtlamalar (modelde oluşturulan ilişkilerden kaynaklanması gerekmez) olsa da, Power BI yalnızca ilişkilere dayalı olarak varsayılan bir kısıtlama çıkaramaz. Power BI iki tablonun tüm birleşimlerini döndürmeye çalışsa, büyük bir çapraz birleşim oluşturur ve ilgili olmayan veriler döndürür. Bunun yerine Power BI görselde aşağıdaki gibi bir hata oluşturur.

Screenshot of an error dialog when relationship can’t be inferred. Alternatively, Screenshot of an error dialog where relationship isn’t inferred.

Senaryo 4: Yıldız olmayan şema ve ölçü kısıtlaması sağlandı. Örneği Senaryo 3'ten alır ve özetlenmiş sütun (örneğin Product[ProdID] sayısı) veya model ölçüsü (Sales[Total Qty]) biçiminde kullanıcı tarafından sağlanan bir kısıtlama eklersek Power BI, MeasureConstraint'in boş olmadığı Satın Alma[VenID] ve Satış[CustID] bağıntı biçiminde bir sorgu oluşturabilir.

Bu durumda Power BI, kullanıcının kısıtlamasını Power BI'ın uygulaması gereken tek kısıtlama olarak dikkate alır ve bu kısıtlama için boş olmayan değerler üreten birleşimleri döndürür. Kullanıcı Power BI'ı istediği senaryoya yönlendirdi ve Power BI bu kılavuzu uygular.

Senaryo 5: Ölçü kısıtlaması sağlandığında ancak kısmen sütunlara ilişkin olduğunda. Kullanıcı tarafından sağlanan ölçü kısıtlamasının görseldeki tüm sütunlarda tamamen ilgili olmadığı durumlar vardır. Model ölçüsü her zaman her şeyi ilişkilendirmektedir. Power BI, görseldeki sütunlar arasındaki ilişkileri bulmaya çalışırken bu senaryoyu kara kutu olarak ele alır ve kullanıcının bunu kullanarak ne yaptığını bildiğini varsayar. Ancak, kullanıcı arabiriminden seçilen Toplam, Ortalama ve benzer özetler biçiminde özetlenmiş sütunlar, bu sütunun ait olduğu tablonun ilişkileri temelinde görselde kullanılan sütunların/tabloların yalnızca bir alt kümesiyle ilişkilendirilebilir. Bu nedenle kısıtlama bazı sütun eşleştirmeleri için geçerlidir ancak tümü için geçerli değildir. Bu durumda Power BI, kullanıcı tarafından sağlanan kısıtlamayla ilgili olmayan sütunlar için uygulayabileceği varsayılan kısıtlamaları bulmaya çalışır (senaryo 1 gibi). Power BI bulamıyorsa aşağıdaki hata döndürülür.

Screenshot of an error dialog when Power BI can’t find default constraints.

İlişki hatalarını çözme

Alanlar arasındaki ilişkiler belirlenemiyor hatasını gördüğünüzde, hatayı düzeltmeye çalışmak için aşağıdaki adımları uygulayabilirsiniz:

  1. Modelinizi denetleyin. Analizinizden yanıtlanmasını istediğiniz soru türleri için uygun şekilde ayarlandı mı? Tablolar arasındaki ilişkilerin bazılarını değiştirebilir misiniz? Dolaylı Çok-Çok oluşturmaktan kaçınabilir misiniz?

    Ters çevrilmiş V şekli şemanızı iki tabloya dönüştürmeyi göz önünde bulundurun ve Power BI Desktop'ta çoka çok ilişkileri uygulama bölümünde açıklandığı gibi bunlar arasında doğrudan çoka çok ilişkisi kullanın.

  2. Görsele özetlenmiş sütun veya model ölçüsü biçiminde bir kısıtlama ekleyin.

  3. Özetlenmiş bir sütun eklenirse ve hala bir hata varsa, model ölçüsü kullanmayı göz önünde bulundurun.

Modeller ve ilişkiler hakkında daha fazla bilgi için aşağıdaki makalelere bakın: