POWER QUERY HATA AYIKLAMA

OfisData7 dk okuma
Excel Power Query sorgusundaki hata hücrelerinin tespitini ve onarımını anlatan inceleme kompozisyonu

Ay sonu raporu için Yenile'ye bastınız. Sorgu çalıştı, tablo geldi — ama Birim Fiyat kolonunun yarısı boş, kolon başlığının altında kırmızı çizgili bir uyarı bandı var. Rapor yarım saat sonra toplantıda. Panik anı: sorgu mu bozuldu, veri mi?

Çoğu zaman ikisi de değil. Power Query hataları genellikle tek bir kaynaktan doğar: verinin, dönüşümün beklediği kalıba uymayan birkaç satırı. Bu yazının örnek dosyasında hata bilerek bırakıldı — biri kasıtlı hatalı, biri onarılmış iki sorgu yan yana duruyor. Hatanın nerede göründüğünü, ham değerine nasıl ulaşılacağını ve silmeden nasıl onarılacağını aynı dosya üzerinde izleyeceğiz.

Örnek dosyayı indir (.xlsx) — hatalı + onarılmış iki sorgu

1. Hata Nerede Görünür

Örnek dosyadaki Hatalı_Dönüşüm sorgusu, metin hâldeki Birim Fiyat kolonunu doğrudan tam sayıya çevirmeye çalışıyor. Sonuç, Power Query Düzenleyicisi'nde böyle görünür:

Power Query önizlemesinde üç Error hücresi ve Birim Fiyat kolon başlığında kırmızı çizgili hata göstergesi

İki sinyal birden yanıyor. Kolon başlığının hemen altındaki ince bant kısmen kırmızı — kolondaki değerlerin ne kadarının hatalı olduğunu oransal gösterir. Hücrelerin içinde ise açık açık Error yazıyor: altı satırın üçü dönüşümden geçememiş. Sorgu Excel'e yüklenirken de bu hatalar sayıyla raporlanır ("3 hata" uyarısı) — yani hata, fark edilmeden geçip gitmez; yeter ki uyarının üstüne gidilsin.

2. Hatanın Ham Değerini Görmek

Hata ayıklamanın en az bilinen ve en değerli hareketi şudur: Error yazan hücrenin yanındaki boşluğa tıklayın (yazının üstüne değil). Önizlemenin altında bir ayrıntı bölmesi açılır:

Error hücresi seçiliyken altta açılan sarı ayrıntı bandı: DataFormat.Error sayıya dönüştüremedik, ayrıntı 950 TL

Banttaki mesaj iki parça bilgi verir: hatanın türü (DataFormat.Error: Number türüne dönüştüremedik) ve asıl hazine — sorunu çıkaran ham değer: "950 TL". Artık tahmin yürütmüyorsunuz; verinin içinde " TL" eki taşıyan değerler olduğunu kesin biliyorsunuz. Hata ayıklamada yarı yol, hatalı ham değeri görmektir.

3. Hatanın Kaynağını Teşhis Etmek

Örnek dosyanın Ham sayfasına bakınca tablo, sahadan gelen listelerin tipik hâlini gösteriyor:

Kaynak tablo: Birim Fiyat kolonunda 450 gibi sayılar ile 950 TL, yok ve bekliyor gibi metinler karışık

Birim Fiyat kolonunda üç tip değer karışmış: düz sayılar (450, 5200, 180), birimli yazım ("950 TL") ve insan notları ("yok", "bekliyor"). İnsan gözü üçünü de anlar; tür dönüşümü yalnızca ilkini kabul eder. DataFormat.Error'ların büyük çoğunluğu bu kalıptan çıkar — sayı kolonuna sızmış metin. Daha nadir kuzenleri de aynı mantıkla okunur: geçersiz tarih yazımları, bulunamayan kolon adları (Expression.Error) ve erişilemeyen kaynak dosyalar (DataSource.Error).

4. Kaldırmak Değil, Onarmak

Kolon başlığına sağ tıklayınca menüde cazip bir seçenek durur: Hataları Kaldır. Tek tıkla bütün Error'lar kaybolur — satırlarıyla birlikte. Toner siparişi de, Mouse siparişi de artık raporda yoktur. Toplamlar "temiz" ama eksiktir; üstelik bunu kimse fark etmez, çünkü hata da ortada yoktur artık.

Hataları Kaldır meşru bir araçtır — yalnızca "bu satırlar zaten çöp" diyebildiğiniz durumlar için. Değer taşıyan satırlarda doğru yaklaşım onarımdır: hatayı üreten ham kalıbı bulup dönüşümden önce düzeltmek. Örnek dosyadaki ikinci sorgu (Düzeltilmiş_Fiyatlar) tam bunu yapıyor.

5. Onarımın Adımları ve Sıra Dersi

Düzeltilmiş sorgunun adımları: TL eki temizlendi, sayı olmayanlar boşaltıldı, tür dönüştürüldü; önizlemede null değerler

Düzeltilmiş sorgunun tarifi üç hamle:

  1. TL Eki Temizlendi — Değerleri Değiştir ile " TL" → boş; "950 TL" saf "950" olur.
  2. Sayı Olmayanlar Boşaltıldı — sayıya çevrilemeyen değerler ("yok", "bekliyor") null'a düşürülür; bilgi "fiyat henüz belirsiz" olarak korunur, satır yaşar.
  3. Tür Dönüştürüldü — kolon ancak şimdi tam sayıya çevrilir; tek Error çıkmaz.

Buradaki sıra, hata ayıklamanın genel ilkesini taşır: tür dönüşümü her zaman en sona. Metin düzeltmeleri bitmeden tür çevrilirse, düzeltilecek değerler daha düzeltilemeden Error'a dönüşür. Sonuç tablosunda Mouse ve Adaptör satırları boş fiyatla ama yerli yerinde durur — rapor eksiksiz, belirsizlik görünür hâldedir.

6. Dosyayı İndirin

Örnek dosyayı indir (.xlsx) — hatalı + onarılmış iki sorgu

Dosyada Hatalı_Dönüşüm sorgusu bilerek hatalı bırakıldı: Veri > Sorgular ve Bağlantılar bölmesinden çift tıklayıp açın, Error hücrelerinin yanına tıklayarak ayrıntı bandını kendiniz görün. Ardından Düzeltilmiş_Fiyatlar'ın adımlarını tek tek seçerek onarımın hangi aşamada neyi değiştirdiğini izleyin — adım seçmek, sorguyu o andaki hâliyle gösterir; bu da başlı başına bir hata ayıklama tekniğidir.

Hata mesajlarını okumak, adım adım geri sarmak ve koşullu onarım yazmak pratikle oturur; Power Query ve Power Pivot eğitimi bu senaryoları gerçek veri setleri üzerinde çalıştırıyor. Hataların hiç doğmaması için en etkili önlem, kaynağa tutarlı giriş kuralları koymaktır; bu yaklaşımı Power Query veri standardizasyonu yazısında işlemiştik.

Sıkça Sorulan Sorular

Kurumsal raporlarda hatalı satırların sessizce kaybolmasını nasıl engelleriz?

İki kural işletin: Hataları Kaldır yalnızca yazılı gerekçeyle kullanılsın ve kritik sorgulara bir 'hata sayacı' eşlik etsin — aynı kaynaktan Table.SelectRowsWithErrors ile hatalı satırları sayan küçük bir kontrol sorgusu. Sayaç sıfırdan büyükse rapor yayınlanmadan önce bakılır; eksik toplam riski görünür hâle gelir.

Yenile sırasında 'N hata' uyarısı çıkıyor ama rapor çalışıyor; görmezden gelebilir miyiz?

Hayır — uyarı, o satırların rapora eksik veya boş girdiği anlamına gelir. Uyarıdaki bağlantıya tıklamak hatalı satırları listeleyen bir sorgu açar; hangi kayıtların etkilendiğini oradan görürsünüz. 'Çalışıyor görünen' rapor, eksik toplam raporların en tehlikeli türüdür.

Hata ayıklama sorumluluğu kimde olmalı — sorguyu kuran mı, veriyi giren mi?

Teşhis sorguyu bilende, kalıcı çözüm çoğu zaman veri girişindedir. Ayrıntı bandındaki ham değer ('950 TL' gibi) veri giriş alışkanlığını gösterir; sorgu tarafı onarım adımı ekler, kaynak tarafı da girişi düzeltir (örneğin birim ekini yasaklayan doğrulama). İkisi birlikte yapılmazsa aynı hata her ay geri gelir.

Sorgu dün çalışıyordu, bugün hata veriyor; ilk nereye bakmalıyım?

Sırayla üç yer: son eklenen veriler (yeni satırlarda beklenmeyen değer var mı — Error hücresinin yanına tıklayıp ham değere bakın), kaynak dosyanın yolu ve adı (DataSource.Error genelde taşınmış dosyadır), kolon adları (kaynakta başlık değiştiyse Expression.Error doğar). Üçü de sorgu değil, sorgunun dışındaki dünya değiştiği için çıkar.