Power Query'de Sorgu Birleştirme (Merge) ve Ekleme (Append)
Beceri rehberi

Power Query'de Sorgu Birleştirme (Merge) ve Ekleme (Append)

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 5 dk okuma

Merge sorguları ortak bir anahtarla yan yana getirir, Append ise tabloları alt alta yığar. İletişim kutularını, altı join türünü ve satır çoğalması gibi tuzakları bilmek doğru sonucu ilk seferde almanızı sağlar.

Bir bakışta

  1. Merge sütun, Append satır ekler. Aynı olayın ek bilgisi için birleştirme, aynı türden kayıtları toplamak için ekleme kullanılır.
  2. Left outer çoğu bilgi getirme işi için doğru başlangıçtır. Sol tablonun hiçbir satırı düşmez; eşleşmeyenler boş kalır.
  3. Anahtar sütunların veri tipi aynı olmalıdır. Tip farkı eşleşmenin sıfır görünmesine yol açabilir.
  4. Append, sütunları konuma değil başlığa göre eşleştirir. Eksik başlığın olduğu tarafta null görünür.
  5. Sağ tabloda tekrar eden anahtar sol satırı çoğaltır. Birleştirmeden sonra satır sayısını kaynakla karşılaştırın.

Birleştirme sütun ekler, ekleme satır ekler

Power Query'de iki sorguyu tek tabloda toplamanın iki ayrı yolu vardır ve karışmaları en sık yapılan hatadır. Merge queries (birleştirme), iki tabloyu bir ya da daha fazla sütundaki eşleşen değerlere göre yan yana getirir; sonuçta sol tablonun tüm sütunları ve sağ tablodan gelen yeni sütunlar olur. Append queries (ekleme) ise tabloları alt alta yığar; sonuçta satır sayısı artar, sütunlar ortak başlıklarda hizalanır.

İkisi de Power Query Editor'daki Home sekmesinde, Combine grubunda yer alır. Her ikisinin açılır menüsünde de "yeni sorgu olarak" seçeneği bulunur: mevcut sorguyu değiştirmek yerine sonucu ayrı bir sorguda üretir.

Basit bir ayrım kuralı: aynı olayın ek bilgisini başka tablodan getiriyorsanız birleştirme, aynı türden kayıtları farklı kaynaklardan topluyorsanız ekleme. Satış satırına müşterinin şehrini eklemek birleştirmedir; çevrimiçi satış, mağaza satışı ve toptan satış tablolarını tek satış listesinde toplamak eklemedir.

Şekil 1

Hedefiniz sütun getirmekse birleştirme, satır yığmaksa ekleme

Hangisini seçmeli

İki tabloyla ne yapmak istiyorsunuz?
  1. Ortak bir anahtarla eşleştirip ek sütun getirmekMerge queriesSatıra müşteri şehri gibi bilgi eklemek için.
  2. Aynı yapıdaki tabloları alt alta toplamakAppend queriesKanal ya da şube bazlı tabloları tek listeye çevirmek için.
  3. Eşleşmesi olmayan kayıtları bulmakMerge, anti joinSatışı olmayan müşteri gibi kontroller için.
Kaynak: Microsoft Learn: Power Query birleştirme ve eklemeMindset Institute

Sorguları birleştirmenin adımları

Örnek: Satislar tablosunda MusteriNo vardır, Musteriler tablosunda MusteriNo ve Sehir. Amaç satıra şehri getirmektir.

Satislar sorgusunu seçin, Home sekmesinde Merge queries'i açın. İletişim kutusunda üstteki tablo sol tablodur, ikinci seçtiğiniz tablo sağ tablodur. Sol ve sağ konumunun sonuca etkisi vardır, çünkü birleştirme türü buna göre çalışır. Her iki tabloda MusteriNo sütununu seçin; kutunun altında tahmini eşleşme sayısı çıkar. Küçük bir ampul simgesi, sütun çifti önerisi sunabilir.

Sütun adlarının aynı olması şart değildir, ama veri tipleri aynı olmalıdır. Tipler farklıysa eşleşme doğru sonuç vermeyebilir; birini metin, diğerini sayı bırakırsanız hiçbir satır eşleşmez.

Birden çok sütunla eşleştirecekseniz Ctrl tuşuyla sütunları seçin. Seçim sırası iki tabloda aynı olmalıdır, çünkü birinci sütun birinciyle, ikinci sütun ikinciyle eşleşir.

OK dedikten sonra sol tablonun yanında sağ tablonun adını taşıyan yeni bir sütun belirir; her hücre bir tablo tutar. Başlıktaki genişletme simgesiyle Sehir sütununu seçip genişletirsiniz ya da toplayarak tek değer elde edersiniz.

Join türleri: hangisi ne zaman

Merge iletişim kutusunda altı birleştirme türü vardır. Hepsi aynı iki tablodan farklı satır kümesi çıkarır:

  • Left outer: sol tablonun tüm satırları, sağdan eşleşenler. Arama tablosu mantığıyla bilgi getirmenin varsayılan seçimi
  • Right outer: sağ tablonun tüm satırları, soldan eşleşenler
  • Full outer: iki tablonun tüm satırları; mutabakat işlerinde fark bulmak için
  • Inner: yalnızca iki tarafta da eşleşen satırlar
  • Left anti: yalnızca sol tabloda olup sağda karşılığı olmayanlar
  • Right anti: yalnızca sağ tabloda olup solda karşılığı olmayanlar

Satışlara şehir getirirken genellikle left outer seçilir; böylece şehir bilgisi eksik bir müşterinin satışı da kaybolmaz. Inner seçerseniz eşleşmeyen satışlar sessizce düşer ve toplam tutar azalır. Hiç satışı olmayan müşterileri bulmak istiyorsanız Musteriler tablosunu sol, Satislar tablosunu sağ koyup left anti kullanabilirsiniz.

Metin sütunlarında tam eşleşme yerine benzerlik gerekiyorsa iletişim kutusundaki bulanık eşleştirme (fuzzy matching) kutusu işaretlenebilir. Bu seçenek yalnızca metin sütunlarında çalışır.

Sorguları eklemenin adımları

Ekleme için en az iki tablo gerekir. Çevrimiçi satışlar tablosunu seçip Append queries'i açın; iki tablo modunda mağaza satışlarını ekleyin. Üç ya da daha fazla tablo varsa "Three or more tables" modunu seçip tabloları listeye alın. Sonucu ayrı bir sorgu olarak üretmek isterseniz Append queries as new'u kullanın; kaynak sorgular değişmeden kalır.

Ekleme, sütunları konumuna göre değil başlık adına göre eşleştirir. Bir tabloda Yonlendiren sütunu varsa ve diğerinde yoksa, sonuç tabloda o sütun tüm tablolardaki başlıkların birleşimi olarak yer alır ve eksik tarafın satırlarında null görünür. Yani sütun adı iki tabloda biraz farklıysa (Tutar ve Tutar_TL gibi) iki ayrı sütun oluşur. Ekleme öncesinde sütun adlarını hizalayın.

Tablolar, seçildikleri sırayla eklenir. Birincil tablonun satırları üstte kalır. Kaynağı belli olsun diye her tabloda bir Kanal sütunu bulundurmak çoğu zaman işe yarar; sonradan hangi satırın hangi kaynaktan geldiğini ayırabilirsiniz.

Sık yapılan hatalar

Bazı hatalar sonucu sessizce bozar, bu yüzden ayıklamak güçtür:

  • Veri tipleri farklıyken eşleştirmek; sonuçta eşleşme sıfır görünür
  • Sağ tabloda anahtar tekrar ederken sol satırların çoğalmasını fark etmemek; her tekrar bir satır üretir ve toplam şişer
  • Boşluk, harf ya da yazım farkı olan anahtarları temizlemeden birleştirmek
  • Inner join seçip eşleşmeyen satırların sessizce düştüğünü görmemek
  • Eklemeden önce sütun adlarını hizalamamak; null dolu yinelenen sütunlar çıkar
  • Birleştirmeyi sol ve sağ yerleşimini düşünmeden seçmek

Çözümün çoğu aynı yerden geçer: önce her tablonun anahtar sütununu temizleyin, tiplerini eşitleyin, anahtarın tekil olup olmadığını kontrol edin, sonra birleştirin. Sonuçtan sonra satır sayısını kaynak tabloyla karşılaştırın; left outer birleştirmede sol tablodan fazla satır çıkmışsa anahtar tekrar ediyor demektir.

Birleştirme için yalnızca yardımcı olarak kullandığınız sorguların yüklenmesini kapatın; böylece model gereksiz yere büyümez.

Bu beceriyi Mindset programlarında nerede çalışırsınız

Uygulamalı Power BI programında Power BI ile veri yığını entegrasyonu ve veri analizi ve işleme teknikleri başlıkları, birden çok kaynaktan gelen tabloları tek modelde toplamak isteyen analistlerin ihtiyacıdır. İleri Excel eğitimi ise veri bağlantıları ve dış veri aktarma başlığıyla aynı Power Query mantığını Excel içinde de kullanan ekipler için uygundur.

İlgili Mindset programı

Uygulamalı Power BI ile Veri Analitiği ve Görselleştirme Sertifika Programı

Sık sorulanlar

Sık sorulan sorular

Power Query'de birleştirme VLOOKUP gibi mi çalışır?

Amacı benzerdir: başka bir tablodan eşleşen değeri getirir. Fark, birleştirmenin formül yazmadan, tüm sütunları ve çok sayıda eşleşmeyi aynı anda getirebilmesidir. Left outer join, arama mantığına en yakın türdür. Ayrıca birleştirme sonucu yenilendiğinde kaynak değiştikçe kendini günceller; hücre başına formül kopyalamak gerekmez.

Ekleme yaparken tabloların sütunları aynı sırada olmalı mı?

Hayır. Power Query ekleme işlemini sütun başlıklarına göre yapar, konuma göre değil. Önemli olan başlıkların aynı yazılmasıdır. Başlığı farklı olan bir sütun ayrı sütun olarak eklenir ve eksik tablonun satırlarında null görünür. Bu yüzden eklemeden önce başlıkları aynı biçime getirmek en sağlıklı yoldur.

Birleştirilmiş sütunda yalnız tek değer almak istiyorum, ne yapmalıyım?

Başlıktaki genişletme simgesi ile hangi alanları istediğinizi seçip yeni sütun olarak açarsınız. Sağ tabloda birden çok eşleşme varsa sol satır eşleşme sayısı kadar çoğalır. Bunu istemiyorsanız önce sağ tabloyu anahtara göre tekilleştirin ya da genişletme yerine toplama seçeneğini kullanın; masaüstü Power Query'de bu seçenek vardır.

Merge ile Append arasında performans farkı var mı?

Genel olarak ekleme, eşleştirme gerektirmediği için daha hafiftir; birleştirme ise anahtar karşılaştırması yapar ve büyük tablolarda daha pahalıdır. Gerçek süre kaynağa ve adımlara göre değişir. Birleştirme için kullanılan yardımcı sorguları modele yüklememek ve gereksiz sütunları önce atmak her iki durumda da süreyi kısaltır.

Power Query Merge ve Append Farkı, Nasıl Yapılır?