Bulanık Eşleştirme ile Yazımı Farklı Kayıtları Birleştirmek
Aynı firmanın birbirinden farklı yazımları tek satırda buluşabilir: Power Query'nin bulanık birleştirmesi, birebir tutmayan metinleri benzerlik skoruyla eşleştirir. Eşiği ve sonuç kalitesini nasıl kontrol edeceğinizi görürsünüz.
Bir bakışta
- Bulanık eşleştirme yalnızca metin sütunlarında çalışır. Sayı ve tarih sütunlarını birleştirmek için önce anahtar alanı metne çevirmeniz gerekir.
- Her şeyi belirleyen değer benzerlik eşiğidir. Eşik yükseldikçe eşleşme sıkılaşır, düştükçe yanlış eşleşme riski artar.
- Yazım farkı değil anlam farkı varsa dönüşüm tablosu gerekir. Kısaltma ve takma adlar için From ve To sütunlu küçük bir eşleme tablosu kurulur.
- Skor sütununu açıp sonucu gözle denetlemeden sonuca güvenmeyin. Benzerlik skorları eşiğin doğru ayarlanıp ayarlanmadığını gösteren tek somut ipucudur.
- Eşleşmeyen satır hata değil, bilgidir. Sol dış birleştirmede boş kalan kayıtlar referans tabloya eklenmesi gereken değerleri gösterir.
Bulanık eşleştirme neden gerekir?
Elinizde bir anket, bir CRM dışa aktarımı ya da farklı departmanların tuttuğu bir müşteri listesi varsa aynı varlık birkaç farklı yazımla karşınıza çıkar: "Acme Teknoloji A.Ş.", "ACME Teknoloji AS", "Acme Teknolji". Klasik birleştirme (merge) bu kayıtları aynı saymaz, çünkü karakter karakter eşitlik arar. Sonuç; eşleşmeyen satırlar, kopan raporlar ve toplamları tutmayan panolardır.
Bulanık eşleştirme bu sorunu benzerlik skoruyla çözer. Power Query iki metin arasındaki benzerliği hesaplar ve skoru belirlediğiniz eşiğin üzerinde kalan çiftleri eşleşmiş sayar. Microsoft belgelerine göre bu özellik yalnızca metin sütunları üzerindeki birleştirmelerde desteklenir ve benzerliği ölçmek için Jaccard benzerlik algoritmasını kullanır. Aynı mekanizma, değerleri kümelemek ve bulanık gruplamak için de kullanılır.
Burada amaç, ham ve kirli kayıtları temiz bir referans listesine bağlamaktır: anket cevaplarını ürün listesine, serbest yazılmış firma adlarını resmî firma tablosuna, farklı yazılmış şehir adlarını şehir tablosuna.
Adım adım bulanık birleştirme
Süreç, olağan bir birleştirmeyle başlar ve son adımda bulanık seçeneği açılır.
- Sol tabloyu seçin: düzeltmek istediğiniz ham kayıtlar buradadır.
- Giriş sekmesinden sorguları birleştirme komutunu açın ve sağ tablo olarak referans listeyi seçin.
- İki tabloda eşleştirilecek sütunları tıklayarak seçin. Her ikisi de metin olmalıdır.
- Birleştirme türü olarak sol dış birleştirmeyi seçin; böylece eşleşmeyen ham kayıtlar kaybolmaz, yanında boş değer görürsünüz.
- Pencerenin altındaki "Use fuzzy matching to perform the merge" kutusunu işaretleyin. Arayüz Türkçe ise aynı konumdaki karşılığını arayın.
- Pencere, kaç satırın eşleştiğini söyler. Eşleşmeyen satır sayısını not edin.
- Tamam'a basın, yeni oluşan tablo sütununu genişletin ve yalnızca ihtiyacınız olan referans alanı alın.
Varsayılan ayarlarla çoğu basit yazım hatası zaten çözülür. Asıl çalışma, kalan eşleşmeyen satırların ve yanlış eşleşmelerin ayıklanmasıdır.
Eşik ve diğer seçenekler
Birleştirme penceresindeki "Fuzzy matching options" bölümü eşleştirmenin davranışını belirler. Benzerlik eşiği, hiç benzerlikten birebir eşleşmeye uzanan bir ölçekte ayarlanır; ölçeğin en üst ucu birebir eşleşme anlamına gelir ve varsayılan değer bu uca yakın, yüksek bir düzeydedir. Eşik düşerse daha uzak benzerlikler de eşleşir. Belgedeki örnekte "Grapes" ile "Graes" (bir harf eksik) yalnızca eşik varsayılandan belirgin biçimde gevşetildiğinde eşleşir.
Diğer seçenekler şunlardır. "Ignore case" büyük küçük harf farkını yok sayar. "Match by combining text parts" metin parçalarını birleştirerek eşleştirir; "Micro soft" ile "Microsoft" gibi boşluk hataları bu seçenekle yakalanır. "Show similarity scores" eşleşme skorunu ayrı bir alan olarak getirir. "Number of matches" her ham satır için en çok kaç eşleşme dönebileceğini sınırlar; referans listede tek doğru karşılık bekliyorsanız bunu bire indirmek yanlış çoklu eşleşmeleri engeller.
Eşiği ayarlarken yöntem basittir: önce skorları gösterin, eşleşen çiftleri skorlarıyla birlikte inceleyin, yanlış eşleşenlerin skorunun hemen üstüne eşiği çıkarın. Eşleşmesi gerekirken eşleşmeyenler varsa eşiği kademeli düşürün.
Eşiği sonuç belirler: yanlışlara göre yükseltin, kaçırılanlara göre düşürün
- Aynı olmayan kayıtlar eşleşmişEşiği yükseltinSkorları gösterin; yanlış çiftlerin skorunun üzerine çıkın.
- Aynı olan kayıtlar eşleşmemişEşiği düşürünKademeli inin; her adımda yanlış eşleşme çıkıp çıkmadığına bakın.
- Fark yazım değil, ad (kısaltma, takma ad)Dönüşüm tablosu kurunEşik düşürmek bu durumda yanlış eşleşme üretir.
Dönüşüm tablosu ile özel eşleme
Bazı farklar yazım hatası değildir: "Bİ" ile "İş Zekası", "THY" ile "Türk Hava Yolları" gibi kısaltmalar karakter olarak birbirine benzemez. Eşiği düşürerek bunları yakalamaya çalışırsanız önce yanlış eşleşmeler artar. Doğru yol, dönüşüm tablosudur.
Dönüşüm tablosunun iki sütunu vardır: From aranacak değeri, To ise yerine konacak değeri taşır. Tabloyu ayrı bir sorgu olarak hazırlayın, birleştirme penceresindeki "Transformation table" seçeneğinden seçin. Power Query ham değeri önce bu tabloya göre dönüştürür, sonra bulanık eşleştirmeyi uygular.
Bir ayrıntıya dikkat edin: Microsoft belgelerine göre dönüşüm tablosundan gelen değerlerde skor birebir eşleşmenin biraz altında sınırlanır; çünkü dönüşüm uygulanmış bir değerin aslında birebir aynı olmadığı bilgisi korunur. Bu cezayı istemiyorsanız, değerleri önce değiştirin (Replace Values), sonra bulanık eşleştirmeyi çalıştırın.
Dönüşüm tablosunu bir sefer kurup saklamak, aynı kısaltmaların her yeni dosyada yeniden elle düzeltilmesini önler; tablo büyüdükçe kuruluşun kendi veri sözlüğü haline gelir.
Sonucu denetlemek ve düzeltmek
Bulanık eşleştirme sonucunu doğrulamadan raporlara bağlamak, sessiz hata üretmenin en kolay yoludur. Birleştirme sonrası şu kontrolleri yapın.
İlk olarak benzerlik skorunu genişletme penceresinde seçin ve düşük skorlu eşleşmeleri skora göre sıralayın. Skoru eşiğe en yakın satırlar en şüpheli satırlardır. İkinci olarak, boş kalan satırları filtreleyip referans tabloda neden karşılığı olmadığına bakın: gerçekten yeni bir değer mi, yoksa eşiğin kaçırdığı bir yazım farkı mı?
Üçüncü kontrol toplam tutarlılığıdır. Birleştirmeden önce ve sonra satır sayısı aynı kalmalıdır. Satır sayısı arttıysa bir ham kayıt birden fazla referans değere eşleşmiş demektir; "Number of matches" değerini sınırlayın. Dördüncü olarak, çıktı sütununu genişletirken ön ek vermeden almak sonraki adımlarda sütun adlarını sade tutar.
Düzeltmeleri kalıcı hale getirmek için gördüğünüz her tekrarlayan hatayı dönüşüm tablosuna ekleyin. Böylece sorgu her yenilendiğinde aynı manuel temizlik tekrar gerekmez.
Bulanık birleştirme, denetim döngüsüyle güvenilir olur
- Sol dış birleştirme kurunHam tablo solda, referans liste sağda.
- Bulanık seçeneği açınEşik varsayılan kalsın, skorları gösterin.
- Skorları inceleyinEşiğe yakın çiftleri tek tek okuyun.
- Eşiği ayarlayınYanlış varsa yükseltin, kaçırılan varsa düşürün.
- Kalanı dönüşüm tablosuna alınKısaltma ve takma adlar elle eşlenir.
Sık yapılan hatalar
- Sayı veya tarih sütununda denemek: bulanık eşleştirme yalnızca metin sütunlarında desteklenir. Anahtar alanı önce metne çevirin.
- Eşiği çok düşürmek: tüm satırlar "eşleşir" ama birçoğu yanlış eşleşir; rapor doğru görünür, rakamlar yanlıştır.
- Skoru hiç göstermemek: eşiğin yeri tahminle belirlenir.
- Uzun açıklama metinlerini kısa referans değerlere eşlemeye çalışmak: Microsoft belgesindeki örnekte olduğu gibi, uzun bir cümlenin içinde geçen kısa bir sözcük düşük benzerlik skoru üretir. Önce metni temizleyin ya da kümeleme gibi başka bir yöntem seçin.
- Referans tabloyu temizlemeden bulanık eşleştirmek: referans listede mükerrer ya da yazım hatalı değer varsa, düzeltmek istediğiniz kayıtlar yanlış hedefe bağlanır.
- Satır sayısını kontrol etmemek: çoklu eşleşme satırları sessizce çoğaltır.
- Büyük harf, küçük harf ve boşluk farklarını eşik düşürerek çözmeye çalışmak: bunun için "Ignore case" ve metin parçalarını birleştirme seçeneği vardır.
Bu beceriyi Mindset programlarında nerede çalışırsınız?
Uygulamalı Power BI ile Veri Analitiği ve Görselleştirme Sertifika Programı, veri hazırlama ve veri modelleme başlıklarıyla sorguları temizleme, birleştirme ve modelleme becerisini kapsar; farklı kaynaklardan gelen tutarsız kayıtlarla çalışan raporlama ekipleri için doğrudan işe yarar. İleri Excel programındaki veri bağlantıları ve dış veri aktarma konuları ise aynı sorgu mantığını Excel tarafında kullanan analistlere hitap eder.
İlgili Mindset programı
Uygulamalı Power BI ile Veri Analitiği ve Görselleştirme Sertifika Programı
Sık sorulan sorular
Power Query'de bulanık eşleştirme hangi sütunlarda çalışır?
Yalnızca metin sütunlarında. Anahtar alanınız sayı ya da tarihse bile onu metne çevirip eşleştirebilirsiniz, ancak sayısal yakınlık aramak bu özelliğin işi değildir. Bulanık eşleştirme harf düzeyinde benzerliği ölçer.
Bulanık eşleştirme sonucunda satırlar neden çoğaldı?
Bir ham kayıt, eşiğin üzerinde birden fazla referans değere benzediğinde her biriyle eşleşir ve satır çoğalır. Birleştirme penceresindeki eşleşme sayısı seçeneğini sınırlayın, eşiği yükseltin ve referans tablodaki benzer mükerrer değerleri temizleyin.
Eşleşmeyen satırlar için ne yapmalıyım?
Önce gerçekten referansta olmayan bir değer mi, yoksa eşiğin kaçırdığı bir yazım farkı mı olduğuna bakın. Yazım farkıysa eşiği ayarlayın, kısaltma ya da takma adsa dönüşüm tablosuna ekleyin. Gerçekten yeniyse referans tabloya eklenmelidir.
Bulanık eşleştirme Excel'in benzer işlevlerinin yerini alır mı?
Küçük ve tek seferlik işlerde formüller yeterli olabilir. Bulanık birleştirme ise büyük tabloları yenilenebilir bir sorgu olarak eşleştirir; aynı mantık her güncellemede otomatik uygulanır, elle düzeltme tekrarlanmaz.
Dönüşüm tablosu ile Replace Values arasındaki fark nedir?
Replace Values değeri kalıcı olarak değiştirir ve sonrasında tam eşleşme gibi davranır. Dönüşüm tablosu ise değeri eşleştirme sırasında dönüştürür ve belgeye göre bu değerlerin skoru sınırlanır. Tablo yeniden kullanılabilir, değişiklik sorgu adımına gömülmez.
İlgili rehberler
İlgili eğitimler
Kategori: Veri Analitiği ve İş Zekası