Özellik ikonu

İlişkiler

İndirme izni yok

Genel Bakış

İlişkiler (Relationships), iki ayrı tablodaki ortak değerli sütunları eşleştirerek verileri tek tabloda birleştirmeden birlikte çözümlemenizi sağlayan Excel Veri Modeli özelliğidir. Tanımladığınız ilişkiler sayesinde özet tablolar ve grafikler, farklı tablolardan gelen alanları DÜŞEYARA gibi formüller yazmadan tek bir alan listesinde kullanabilir. Müşteri, ürün ve sipariş gibi birbirine bağlı tabloları olan çalışma kitaplarında veri tekrarını azaltır ve raporlamayı kolaylaştırır.

Nerede bulunur​

İlişki tanımlama komutu şu yolda yer alır:
  • Veri > Veri Araçları > İlişkiler (Data > Data Tools > Relationships): İlişkileri Yönet (Manage Relationships) penceresini açar. Çalışma kitabında en az iki Excel tablosu yoksa bu düğme pasif görünür.
  • Power Pivot > Veri Modeli > Yönet (Power Pivot > Data Model > Manage): Power Pivot eklentisi etkinse tabloları ve ilişkileri Diyagram Görünümü (Diagram View) üzerinde sürükleyerek de kurabilirsiniz.
  • Özet Tablo Alanları (PivotTable Fields) bölmesi: Farklı tablolardan alanları birlikte kullanmaya çalıştığınızda çıkan uyarıdaki Oluştur (Create) ve Otomatik Algıla (Auto-Detect) düğmeleriyle de ilişki kurabilirsiniz.
İlişkiler çalışma kitabındaki Veri Modelinde saklanır. Bu nedenle ilişkisi olan tablolar özet tabloya Bu verileri Veri Modeline ekle (Add this data to the Data Model) seçeneğiyle eklenir.

Nasıl kullanılır​

Önce her veri aralığını tabloya dönüştürün ve anlamlı bir ad verin. Sonra ilişkiyi şu adımlarla kurun:
  • Tabloları hazırlayın: Verinin herhangi bir hücresini seçip Ctrl+T tuşlarına basın, ardından Tablo Tasarımı > Özellikler > Tablo Adı (Table Design > Properties > Table Name) kutusuna Musteriler, Siparisler gibi bir ad yazın.
  • Pencereyi açın: Veri > Veri Araçları > İlişkiler yolunu izleyin ve Yeni (New) düğmesine tıklayın.
  • Çok tarafını seçin: Tablo (Table) listesinden siparişler gibi tekrarlı değerler içeren tabloyu, Sütun (Yabancı) (Column (Foreign)) listesinden de müşteri kodu sütununu seçin.
  • Bir tarafını seçin: İlgili Tablo (Related Table) olarak müşteriler tablosunu, İlgili Sütun (Birincil) (Related Column (Primary)) olarak benzersiz müşteri kodu sütununu seçin.
  • Onaylayın: Tamam düğmesine tıklayın. İlişki İlişkileri Yönet penceresinde listelenir; buradan Düzenle (Edit), Etkinleştir (Activate), Devre Dışı Bırak (Deactivate) ve Sil (Delete) komutlarını kullanabilirsiniz.
  • Raporlayın: Ekle > Özet Tablo (Insert > PivotTable) komutunda Veri Modeli seçeneğini işaretleyin; her iki tablonun alanlarını aynı özet tabloda birlikte kullanın.

Anahtar sütunlar ve ilişki türleri​

Bir ilişki iki sütunu eşleştirir:
  • Birincil anahtar: Bir taraftaki tabloda her değerin yalnızca bir kez geçtiği sütundur (ör. müşteri kodu). Excel Veri Modelinde ilişkinin bir tarafındaki sütun benzersiz olmak zorundadır; yinelenen değer varsa ilişki kurulamaz.
  • Yabancı anahtar: Çok taraftaki tabloda aynı kodun birçok satırda tekrar edebildiği sütundur (ör. siparişlerdeki müşteri kodu).
  • Bire çok ilişkisi: En yaygın türdür. Bir müşterinin birçok siparişi olabilir, ancak her sipariş tek bir müşteriye aittir.
  • Çoktan çoğa: Excel Veri Modeli iki tablo arasında doğrudan çoktan çoğa ilişkiyi desteklemez. Böyle durumlarda araya her iki tablonun da benzersiz anahtarlarını içeren bir köprü tablosu kurulur.
  • Etkin ve etkin olmayan ilişki: İki tablo arasında aynı anda yalnızca bir etkin yol bulunabilir. Ek ilişkiler tanımlanabilir, ancak etkin olmayan olarak kalır.
İki sütunun veri türü de aynı olmalıdır; metin olarak saklanan bir kodla sayı olarak saklanan kod eşleşmez. İlişkinin çok tarafında bir tarafta karşılığı olmayan kodlar varsa özet tabloda bunlar (Boş) (Blank) başlığı altında toplanır.

Formül yaklaşımıyla karşılaştırma​

İlişki kurmadan da iki tabloyu bir arama formülüyle bağlayabilirsiniz. Örneğin sipariş satırındaki müşteri kodundan müşteri adını getirmek için şu formül kullanılır:
Excel formülü
=EĞERHATA(İNDİS($E$2:$E$5;KAÇINCI(B2;$D$2:$D$5;0));"Yetim kayıt")
=IFERROR(INDEX($E$2:$E$5,MATCH(B2,$D$2:$D$5,0)),"Yetim kayıt")
Bu yöntemde her satıra formül yazmanız gerekir ve sonuç sütunu veri tablosunu büyütür. Veri Modeli ilişkisinde ise tablolar ayrı kalır, eşleştirme otomatik yapılır ve yüz binlerce satırda bile özet tablo hızlı çalışır. İlişkili sütunu DAX ölçülerinde ve hesaplanmış sütunlarda RELATED işleviyle de kullanabilirsiniz. Aşağıdaki örnekler, ilişkinin dayandığı kuralları formüllerle sınamanızı gösterir.

1. Birincil anahtarın benzersizliğini denetleme​

İlişkinin bir tarafındaki sütun benzersiz olmalıdır. Aşağıdaki listede müşteri kodunun tekrar edip etmediğini görmek için D2 hücresine kod sayısını bulan formülü yazın, E2 hücresine durum formülünü girin ve ikisini de aşağı doğru kopyalayın. Bu denetim, tabloyu Ctrl+T ile tabloya çevirip ilişki kurmadan önce yapılmalıdır.
İlişkiler
Formülünü incelemek için bir hücre seçin.
ABCDE
1Müşteri KoduMüşteriŞehirKod SayısıDurum
2M001Yıldız MarketAnkara1Benzersiz
3M002Deniz Kırtasiyeİzmir1Benzersiz
4M003Akın ElektronikBursa1Benzersiz
5M004Çelik GıdaAdana2Yinelenen
6M005Ay Tekstilİstanbul1Benzersiz
7M004Kaya MobilyaKonya2Yinelenen
8M006Sarı OfisAntalya1Benzersiz
Müşteri ListesiExcelDepo v1.0.0
M004 kodu iki satırda geçtiği için D5 hücresi 2, D7 hücresi 2 sonucunu verir; durum sütununda bu satırlar Yinelenen ve Yinelenen olarak işaretlenir. Bu sütun ilişkide birincil anahtar olarak kullanılamaz. Önce yinelenen kodu düzeltin (örneğin Kaya Mobilya için yeni bir kod verin), sonra ilişkiyi kurun.

2. Yabancı anahtar eşleşmesini sınama​

Sol tarafta sipariş tablosu (A:C), sağ tarafta müşteri tablosu (D:E) bulunur. İlişki kurulduğunda siparişteki her müşteri kodunun müşteri tablosunda karşılığı olmalıdır. F2 hücresine eşleşen müşteri adını getiren formülü yazıp aşağı kopyalayın; karşılığı olmayan kodlar Yetim kayıt olarak görünür.
İlişkiler
Formülünü incelemek için bir hücre seçin.
ABCDEF
1Sipariş NoMüşteri KoduTutarKodMüşteriEşleşen Müşteri
2S-101M0011.250,00M001Yıldız MarketYıldız Market
3S-102M003515,00M002Deniz KırtasiyeAkın Elektronik
4S-103M002840,50M003Akın ElektronikDeniz Kırtasiye
5S-104M0042.300,00M004Çelik GıdaÇelik Gıda
6S-105M005980,00Yetim kayıt
7S-106M001430,00Yıldız Market
8S-107M0021.760,00Deniz Kırtasiye
9S-108M007615,75Yetim kayıt
Sipariş EşleşmeExcelDepo v1.0.0
F2 hücresi Yıldız Market müşterisini getirir. M005 ve M007 kodlarının müşteri tablosunda karşılığı olmadığından F6 hücresi Yetim kayıt, F9 hücresi Yetim kayıt sonucunu verir. Veri Modelinde aynı durum, özet tabloda bu siparişlerin (Boş) başlığı altında toplanması olarak görülür. İlişki kurmadan önce bu tür yetim kodları düzeltmek raporların doğru çıkmasını sağlar.

3. Bire çok ilişkisinde toplama​

Bire çok ilişkisinin sağladığı sonucu formülle görmek için sol tarafa sipariş satırlarını (A:B), sağ tarafa müşteri listesini (D:E) yazın. F2 hücresine müşteri koduna göre siparişleri toplayan formülü girin ve aşağı kopyalayın. Veri Modelinde aynı sonuç, satır alanına müşteri, değer alanına tutar sürüklenerek özet tabloda elde edilir.
İlişkiler
Formülünü incelemek için bir hücre seçin.
ABCDEF
1Müşteri KoduTutarKodMüşteriToplam Tutar
2M0011.250,00M001Yıldız Market3.980,00
3M002840,50M002Deniz Kırtasiye3.216,25
4M0012.300,00M003Akın Elektronik3.595,00
5M003515,00
6M0021.760,00
7M003980,00
8M001430,00
9M002615,75
10M0032.100,00
Müşteri ToplamlarıExcelDepo v1.0.0
Her müşteri kodu sağdaki listede bir kez, soldaki sipariş tablosunda birden çok kez geçer; bu bire çok ilişkisinin kendisidir. F2 hücresi Yıldız Market için 3.980,00, F3 hücresi Deniz Kırtasiye için 3.216,25, F4 hücresi Akın Elektronik için 3.595,00 toplamını verir. Veri Modelinde ilişki tanımlandığında özet tablo aynı toplamları formül yazmadan üretir ve yeni siparişler eklenip tablo yenilendiğinde güncellenir.

Kullanırken dikkat edin​

  • Tabloları ve sütunları adlandırın: İlişkiler yalnızca Excel tabloları (Ctrl+T) ya da Veri Modeline yüklenmiş sorgularla kurulur; düz hücre aralıkları kullanılamaz. Tablolara Tablo1, Tablo2 yerine Musteriler, Siparisler gibi anlamlı adlar verirseniz ilişki penceresinde doğru tabloyu seçmek kolaylaşır.
  • Veri türleri ve boşluklar: İlişki kurulan iki sütunun veri türü aynı olmalıdır. Kodların başında ya da sonunda fazladan boşluk, büyük küçük harf farkı olmasa da boşluk farkı ya da metin olarak saklanmış sayılar eşleşmenin bozulmasına neden olur. Gerekirse KIRP işleviyle veya Veri > Metni Sütunlara Dönüştür komutuyla veriyi temizleyin.
  • Benzersiz değer şartı: Bir taraftaki sütunda yinelenen ya da boş değer olması ilişkinin kurulmasını engeller. Kurmadan önce Veri > Yinelenenleri Kaldır komutunu kullanın ya da EĞERSAY işleviyle tekrar eden kodları bulun. Çoktan çoğa gereken durumlarda köprü tablosu oluşturun.
  • İlişkinin yönü ve alan listesi: Özet tablodaki filtreleme bir taraftaki tablodan çok tarafındaki tabloya doğru akar. Yani müşteri alanı ile sipariş toplamı birlikte kullanılabilir. Alanları ters bağlamda kullanırken beklenmedik sonuçlar görüyorsanız ilişkinin yönünü ve etkin olup olmadığını İlişkileri Yönet penceresinden denetleyin.
  • Sürüm farkları: Veri Modeli ve İlişkiler komutu Excel 2013 ve sonrasında kullanılabilir. Power Pivot ve Diyagram Görünümü bazı sürümlerde yalnızca belirli Microsoft 365 ve Office paketlerinde bulunur. Eski sürümlerde ya da Veri Modeli olmayan kitaplarda aynı amaç için DÜŞEYARA, İNDİS ve KAÇINCI formüllerini kullanabilirsiniz.
  • İlgili konular: Tablo (Ctrl+T), Özet Tablo, Veri Modeli, Power Pivot, Power Query, Bağlantılar ve Sorgular, Yinelenenleri Kaldır, DÜŞEYARA, ÇAPRAZARA, İNDİS, KAÇINCI, EĞERSAY, ETOPLA, EĞERHATA.
Örneklerdeki tabloları indirilebilir Excel dosyasında kendiniz de deneyebilirsiniz.
Yazar
ExcelDepo
İndirme sayısı
0
Gösterim
9
İlk yayın
Güncel

Puanlar

0.00 Oylama 0 İnceleme
Geri
Üst