Power Query ile Tablo Birleştirme Nasıl Yapılır?
Yayın: · Son güncelleme:
Kısaca
Power Query'de iki tabloyu ortak bir sütuna göre yan yana birleştirmek için Sorguları Birleştir komutunu, alt alta eklemek için Sorguları Ekle komutunu kullanırsınız. Birleştirme, DÜŞEYARA'nın yenilenebilir ve çok sütunlu karşılığıdır.
Adım adım
- 1
İki tabloyu sorguya çevirin
Her tablo için Veri > Tablodan/Aralıktan ile düzenleyiciye alın ve Kapat ve Yükle okundan yalnız bağlantı olarak kaydedin.
- 2
Birleştirmeyi başlatın
Ana tablonun sorgusunu açıp Giriş sekmesinde Sorguları Birleştir'e tıklayın.
- 3
Eşleşme sütunlarını seçin
Üstte ana tablonun, altta ikinci tablonun anahtar sütununa tıklayın; iki sütunun aynı veri türünde olduğunu kontrol edin.
- 4
Birleştirme türünü seçin
Bütün ana satırları korumak için sol dış birleştirmeyi, eksik kayıtları bulmak için sol anti birleştirmeyi seçip Tamam'a basın.
- 5
Sütunları genişletin
Yeni tablo sütununun başlığındaki Genişlet simgesinden getirmek istediğiniz sütunları seçin.
- 6
Yükleyin
Kapat ve Yükle ile birleşik tabloyu sayfaya yükleyin; kaynaklar değişince Yenile'ye basın.
İçindekiler
Birleştirme mi, ekleme mi?
Power Query iki farklı tablo birleştirme işi sunar ve hangisine ihtiyacınız olduğunu bilmek ilk adımdır. Birleştirme, iki tabloyu ortak bir sütuna göre yan yana getirir: sipariş tablosuna müşteri tablosundan şehir bilgisini eklemek gibi. Ekleme ise aynı yapıdaki tabloları alt alta dizer: ocak ve şubat satış listelerini tek listede toplamak gibi.
Microsoft'un Türkçe belgeleri bu iki işlemi Birleştir ve Ekle adlarıyla anlatır. Şeritte komutlar Giriş sekmesindeki Birleştir grubunda yer alır.
İki tabloyu sorguya çevirmek
Birleştirme yapabilmek için iki tablonun da Power Query'de sorgu olarak bulunması gerekir. Sipariş tablosunda bir hücre seçip Veri sekmesindeki Tablodan/Aralıktan ile düzenleyiciye alın ve Kapat ve Yükle'nin okundan yalnız bağlantı oluşturma seçeneğiyle kaydedin. Aynı işlemi müşteri tablosu için tekrarlayın.
Yalnız bağlantı olarak kaydetmek, ara tabloların sayfaya yüklenmesini önler. Sorgular ve Bağlantılar bölmesinde iki sorgu da görünür ve birleştirmeye hazırdır.
Sorguları birleştirmek
Sipariş sorgusunu düzenleyicide açın ve Giriş sekmesindeki Sorguları Birleştir komutuna tıklayın. Sonucu ayrı bir sorgu olarak almak istiyorsanız komutun okundan yeni olarak birleştirme seçeneğini kullanın. Açılan pencerenin üst kısmında sipariş tablosu, alt kısmında seçeceğiniz ikinci tablo görünür.
Alttaki listeden müşteri sorgusunu seçin. Üstte Müşteri Kodu sütununa, altta Kod sütununa tıklayarak eşleşme sütunlarını belirleyin. İki sütunun aynı veri türünde olması gerekir; biri metin, diğeri sayıysa hiçbir satır eşleşmez. Pencerenin altındaki bilgi satırı kaç satırın eşleştiğini gösterir.
Birleştirme Türü listesinde varsayılan seçenek sol dış birleştirmedir: sipariş tablosundaki bütün satırlar korunur, müşteri tablosundan eşleşenler getirilir. İç birleşim yalnız iki tabloda da bulunan satırları bırakır. Sol anti birleştirme ise müşteri tablosunda karşılığı olmayan siparişleri listeler ve eksik kayıtları bulmak için kullanışlıdır.
Genişlet ile sütunları getirmek
Tamam'a bastığınızda sipariş tablosunun sonunda Table yazan yeni bir sütun belirir. Bu sütun, her satır için eşleşen müşteri kayıtlarını taşır. Başlığın yanındaki Genişlet simgesine tıklayın, getirmek istediğiniz Ad ve Şehir sütunlarını işaretleyin, Kod sütununun işaretini kaldırın.
Sonuçta her siparişin yanında müşteri adı ve şehri görünür. 1001 numaralı sipariş M02 koduyla Ada Market'e bağlanır ve şehir sütununa Bursa yazılır.
DÜŞEYARA ile karşılaştırma
Aynı sonucu sayfada DÜŞEYARA ile de alabilirsiniz. Formül, müşteri kodunu müşteri tablosunda arar ve üçüncü sütundaki şehri getirir.
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Sipariş No | Müşteri Kodu | Tutar | Kod | Ad | Şehir | |||
| 2 | 1.001 | M02 | 1.250 | M01 | Deniz Kırtasiye | İzmir | Bursa | ||
| 3 | 1.002 | M01 | 830 | M02 | Ada Market | Bursa | |||
| 4 | 1.003 | M03 | 2.100 | M03 | Yıldız Ticaret | Ankara |
=DÜŞEYARA(B2;$E$2:$G$4;3;YANLIŞ)=VLOOKUP(B2,$E$2:$G$4,3,FALSE)Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
I2 hücresinin sonucu: Bursa
1001 numaralı siparişin müşteri kodu M02. Müşteri tablosunda M02 Ada Market'tir ve şehri Bursa'dır; Power Query birleştirmesi de aynı şehri getirir.
DÜŞEYARA her sütun için ayrı bir formül ister ve on binlerce satırlık tablolarda dosyayı yavaşlatabilir. Power Query birleştirmesi istediğiniz kadar sütunu tek adımda getirir, sonuç düz değer olarak yüklenir ve kaynaklar değiştiğinde yenileme ile güncellenir. Formülün ise anında hesaplanma avantajı vardır; küçük ve sık değişen tablolarda DÜŞEYARA ya da ÇAPRAZARA daha pratik kalabilir.
Birleştirmeden önce eşleşmeyecek kodları görmek isterseniz EĞERSAY ile kontrol edebilirsiniz. Müşteri tablosunda bulunmayan bir kod için sonuç 0 olur; sol anti birleştirme bu satırları toplu olarak listeler.
Birden fazla sütuna göre eşleştirme de mümkündür. Fiyat listesi hem ürün koduna hem bölgeye göre değişiyorsa birleştirme penceresinde üstte ve altta Ctrl tuşuyla iki sütunu sırayla seçin. Power Query satırları iki sütunun birlikte eşleştiği durumda bağlar; DÜŞEYARA ile bunu yapmak için yardımcı bir birleşik anahtar sütunu kurmanız gerekirdi.
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Sipariş No | Müşteri Kodu | Tutar | Kod | Ad | Şehir | |||
| 2 | 1.001 | M02 | 1.250 | M01 | Deniz Kırtasiye | İzmir | |||
| 3 | 1.002 | M01 | 830 | M02 | Ada Market | Bursa | 1 | ||
| 4 | 1.003 | M03 | 2.100 | M03 | Yıldız Ticaret | Ankara |
=EĞERSAY($E$2:$E$4;B3)=COUNTIF($E$2:$E$4,B3)Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
I3 hücresinin sonucu: 1
M01 kodu müşteri tablosunda bir kez geçer, sonuç 1'dir. 0 dönen kodlar birleştirmede eşleşmez; 1'den büyük sonuç ise satırların çoğalacağını gösterir.
Tabloları alt alta eklemek
Ocak ve şubat satışları gibi aynı sütunlara sahip iki tabloyu tek listede toplamak için Sorguları Ekle komutunu kullanın. Pencerede iki tablo seçeneğini işaretleyip ikinci tabloyu seçmeniz yeterlidir; üç ya da daha fazla tablo için çoklu seçim yapılabilir. Power Query sütunları başlık adlarına göre eşleştirir. Bir tabloda Tutar, diğerinde Tutar TL yazıyorsa iki ayrı sütun oluşur ve boş hücreler ortaya çıkar.
Sık yapılan hatalar
Eşleşme sütunlarındaki fazla boşluklar ve farklı veri türleri, satırların eşleşmemesinin en yaygın nedenidir. Birleştirmeden önce iki sorguda da anahtar sütunu kırpın ve aynı türe çevirin. Müşteri tablosunda bir kod iki kez geçiyorsa birleştirme sonrası sipariş satırı da çoğalır; anahtar sütunda yinelenenleri kaldırmak bunu önler.
Uygulayın
Elinizdeki iki ilişkili tabloyu yalnız bağlantı olarak Power Query'ye alın ve sol dış birleştirmeyle birleştirin. Ardından sol anti birleştirme ile karşılığı olmayan kayıtları listeleyip kaynak verinizdeki eksikleri tamamlayın.
Bu rehberde kullanılan fonksiyonlar
Aynı konudaki diğer rehberler: Excel'de Power Query
Sıkça Sorulan Sorular
Power Query'de tablo birleştirme nasıl yapılır?
İki tabloyu sorgu olarak alın, ana sorguda Giriş sekmesindeki Sorguları Birleştir'e tıklayın, iki tablonun ortak sütununu seçip birleştirme türünü belirleyin. Ardından Genişlet ile istediğiniz sütunları getirin.
Birleştir ile Ekle arasındaki fark nedir?
Birleştir iki tabloyu ortak bir sütuna göre yan yana getirir. Ekle aynı yapıdaki tabloları alt alta dizerek tek liste oluşturur.
Birleştirmede neden hiçbir satır eşleşmiyor?
Anahtar sütunların veri türleri farklı olabilir ya da değerlerde fazla boşluk vardır. İki sorguda da sütunu kırpın ve aynı türe çevirin.