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.
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.
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.
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.
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.
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.
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.
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: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.| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Müşteri Kodu | Müşteri | Şehir | Kod Sayısı | Durum |
| 2 | M001 | Yıldız Market | Ankara | 1 | Benzersiz |
| 3 | M002 | Deniz Kırtasiye | İzmir | 1 | Benzersiz |
| 4 | M003 | Akın Elektronik | Bursa | 1 | Benzersiz |
| 5 | M004 | Çelik Gıda | Adana | 2 | Yinelenen |
| 6 | M005 | Ay Tekstil | İstanbul | 1 | Benzersiz |
| 7 | M004 | Kaya Mobilya | Konya | 2 | Yinelenen |
| 8 | M006 | Sarı Ofis | Antalya | 1 | Benzersiz |
Müşteri ListesiExcelDepo v1.0.0
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.| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Sipariş No | Müşteri Kodu | Tutar | Kod | Müşteri | Eşleşen Müşteri |
| 2 | S-101 | M001 | 1.250,00 | M001 | Yıldız Market | Yıldız Market |
| 3 | S-102 | M003 | 515,00 | M002 | Deniz Kırtasiye | Akın Elektronik |
| 4 | S-103 | M002 | 840,50 | M003 | Akın Elektronik | Deniz Kırtasiye |
| 5 | S-104 | M004 | 2.300,00 | M004 | Çelik Gıda | Çelik Gıda |
| 6 | S-105 | M005 | 980,00 | Yetim kayıt | ||
| 7 | S-106 | M001 | 430,00 | Yıldız Market | ||
| 8 | S-107 | M002 | 1.760,00 | Deniz Kırtasiye | ||
| 9 | S-108 | M007 | 615,75 | Yetim kayıt |
Sipariş EşleşmeExcelDepo v1.0.0
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.| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Müşteri Kodu | Tutar | Kod | Müşteri | Toplam Tutar | |
| 2 | M001 | 1.250,00 | M001 | Yıldız Market | 3.980,00 | |
| 3 | M002 | 840,50 | M002 | Deniz Kırtasiye | 3.216,25 | |
| 4 | M001 | 2.300,00 | M003 | Akın Elektronik | 3.595,00 | |
| 5 | M003 | 515,00 | ||||
| 6 | M002 | 1.760,00 | ||||
| 7 | M003 | 980,00 | ||||
| 8 | M001 | 430,00 | ||||
| 9 | M002 | 615,75 | ||||
| 10 | M003 | 2.100,00 |
Müşteri ToplamlarıExcelDepo v1.0.0
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.