Aracılığıyla paylaş


Hata işleme

Excel ve DAX dilinin işlevine IFERROR benzer şekilde, Power Query'nin hataları test etmek ve yakalamak için kendi söz dizimi vardır.

Power Query'deki hatalarla ilgilenme makalesinde belirtildiği gibi, hatalar adım veya hücre düzeyinde görünebilir. Bu makale, kendi mantığınıza göre hataları nasıl yakalayabileceğinize ve yönetebileceğinize odaklanır.

Not

Bu kavramı göstermek için, bu makalede veri kaynağı olarak bir Excel Çalışma Kitabı kullanılır. Burada sergilenen kavramlar, yalnızca Excel Çalışma Kitabı'ndan gelenler için değil, Power Query'deki tüm değerler için geçerlidir.

Bu gösterim için örnek veri kaynağı, aşağıdaki tabloya sahip bir Excel Çalışma Kitabıdır.

Üç hata içeren bir Excel çalışma kitabındaki örnek verilerin ekran görüntüsü.

Excel Çalışma Kitabı'ndaki bu tabloda Standart Fiyat sütununda #NULL!, #REF! ve #DIV/0! gibi Excel hataları vardır. Bu tabloyu Power Query düzenleyicisine aktardığınızda, aşağıdaki görüntüde nasıl göründüğü gösterilir.

Power Query'ye yüklenen örnek tablonun ekran görüntüsü.

Excel çalışma kitabındaki hataların her hücredeki değerle [Error] nasıl gösterildiğine dikkat edin.

Bu makalede, bir hatayı başka bir değerle değiştirmeyi öğreneceksiniz. Ayrıca, bir hatayı yakalamayı ve kendi mantığınız için kullanmayı da öğrenirsiniz.

Hata bulurken alternatif bir değer sağlayın

Bu durumda hedef, örnek veri kaynağında Standart Fiyat sütunundaki değerleri kullanan yeni bir Son Fiyat sütunu oluşturmaktır. Herhangi bir hata varsa ilgili Özel Oran sütunundaki değeri kullanır.

Yeni bir özel sütun oluşturmak için Sütun ekle menüsüne gidin ve Özel sütun'u seçin. Özel sütun penceresinde formülünü try [Standard Rate] otherwise [Special Rate]girin. Bu yeni sütunu Son Fiyat olarak adlandır.

Özel Sütun iletişim kutusunun açık olduğu ve özel sütuna başka bir şekilde formül girilmiş bir deneyin ekran görüntüsü.

Bu formül Standart Oran sütununu değerlendirmeye çalışır ve hata bulunmazsa değerini verir. Standart Oran sütununda hatalar bulunursa çıkış, deyiminden otherwise sonra tanımlanan değerdir ve bu durumda Özel Oran sütunudur.

Tablodaki tüm sütunlara doğru veri türlerini ekledikten sonra, aşağıdaki görüntüde son tablonun nasıl göründüğü gösterilir.

Standart fiyat hatalarının yerine Son Fiyat sütunundaki özel oranın değiştirdiği tablonun ekran görüntüsü.

Not

Alternatif bir yaklaşım olarak, önceki formülle try [Standard Rate] catch ()=> [Special Rate]eşdeğer olan ancak catch anahtar sözcüğünü parametre gerektirmeyen bir işlevle birlikte kullanarak formülünü de girebilirsiniz.

Anahtar catch sözcük, Mayıs 2022'de Power Query'ye tanıtıldı.

Kendi koşullu hata mantığınızı sağlayın

Önceki bölümle aynı örnek veri kaynağını kullanarak yeni hedef, Son Fiyat için yeni bir sütun oluşturmaktır. Standart Oran'dan gelen değer varsa, bu değer kullanılır. Aksi takdirde, hata #REF! içeren satırlar dışında Özel Oran sütunundaki değer kullanılır.

Not

Hatayı dışlamanın #REF! tek amacı tanıtım amaçlıdır. Bu makaledeki kavramlarla, hata kaydından istediğiniz alanları hedefleyebilirsiniz.

Hata değerinin yanındaki boşluklardan herhangi birini seçtiğinizde ekranın alt kısmındaki ayrıntılar bölmesine ulaşabilirsiniz. Ayrıntılar bölmesi hem hata nedenini hem DataFormat.Errorde hata iletisini Invalid cell value '#REF!'içerir:

Seçili hatanın ekran görüntüsü; iletişim kutusunun altında bir hata iletisi var.

Bir kerede yalnızca bir hücre seçebilirsiniz, bu nedenle aynı anda yalnızca bir hata değerinin hata bileşenlerini etkili bir şekilde inceleyebilirsiniz. Bu noktada yeni bir özel sütun oluşturup ifadesini kullanırsınız try .

Özel mantıkla kullanma try

Yeni bir özel sütun oluşturmak için Sütun ekle menüsüne gidin ve Özel sütun'u seçin. Özel sütun penceresinde formülünü try [Standard Rate]girin. Bu yeni sütuna Tüm Hatalar adını verin.

Özel Sütun iletişim kutusunun açık olduğu ve özel sütuna bir deneme formülü girilmiş ekran görüntüsü.

İfade, try değerleri ve hataları, ifadenin try bir hatayı işleyip işlemediğini ve doğru değeri veya hata kaydını gösteren bir kayıt değerine dönüştürür.

Tüm Hatalar sütununun eklendiği ve hataların Kayıtlar olarak görüntülendiği tablonun ekran görüntüsü.

Yeni oluşturulan bu sütunu kayıt değerleriyle genişletebilir ve sütun üst bilgisinin yanındaki simgeyi seçerek genişletilecek kullanılabilir alanlara bakabilirsiniz.

Genişlet simgesinin vurgulanmış ve HasError, Değer ve Hata kutularının seçili olduğu Tüm Hatalar sütununun ekran görüntüsü.

Bu işlem üç yeni alanı kullanıma sunar:

  • Tüm Errors.HasError— Standart Oran sütunundaki değerin hata içerip oluşmadığını görüntüler.
  • Tüm Errors.Value— Standart Fiyat sütunundaki değerde hata yoksa, bu sütun Standart Fiyat sütunundaki değeri görüntüler. Hata içeren değerler için bu alan kullanılamaz ve genişletme işlemi sırasında bu sütunda değerler bulunur null .
  • Tüm Hatalar.Hata— Standart Fiyat sütunundaki değerde hata varsa, bu sütun Standart Fiyat sütunundaki değerin hata kaydını görüntüler. Hatasız değerler için bu alan kullanılamaz ve genişletme işlemi sırasında bu sütunda değerler bulunur null .

All.Errors.Error değerinin seçili olduğu ve tablonun altındaki hata iletilerinin gösterildiği, sütunlardaki yeni alanların gösterildiği tablonun ekran görüntüsü.

Daha fazla araştırma yapmak için Tüm Hatalar.Hata sütununu genişleterek hata kaydının üç bileşenini alabilirsiniz:

  • Hata nedeni
  • Hata İletisi
  • Hata ayrıntısı

Genişletme işlemini yaptıktan sonra, Tüm Hatalar.Hata.İleti alanında, her hücrede tam olarak hangi Excel hatası olduğunu belirten belirli bir hata iletisi görüntülenir. Hata iletisi, hata kaydının Hata İletisi alanından türetilir.

Belirli hata iletilerinin görüntülendiği ekran görüntüsü.

Artık her hata iletisi yeni bir sütunda yer alırsa, Son Hız adını ve aşağıdaki yan tümceleri içeren yeni bir koşullu sütun oluşturabilirsiniz:

  • Tüm Hatalar.Hatalar.İleti sütunundaki değer değerine eşitse nullçıkış, Standart Oran sütunundaki değerdir.
  • Aksi takdirde, Tüm Hatalar.Hatalar.İleti sütunundaki değer eşit Invalid cell value '#REF!'.değilse çıkış, Özel Oran sütunundaki değerdir.
  • Else, null.

Yeni sütun için tüm hata koşullarının ayarlandığı Koşullu sütun ekle iletişim kutusunun ekran görüntüsü.

Yalnızca Account, Standard Rate, Special Rate ve Final Rate sütunlarını koruyarak ve her sütun için doğru veri türünü ekledikten sonra, aşağıdaki görüntüde son tablonun nasıl göründüğü gösterilir.

Doğru veri türlerine sahip kalan sütunları içeren son tablonun ekran görüntüsü.

Özel mantık ile ve catch kullanma try

Alternatif olarak, ve catch anahtar sözcüklerini kullanarak try yeni bir özel sütun da oluşturabilirsiniz.

try [Standard Rate] catch (r)=> if r[Message] <> "Invalid cell value '#REF!'." then [Special Rate] else null

Try and catch söz dizimi yaklaşımını gösteren yeni bir formül içeren özel sütun iletişim kutusu.

Diğer kaynaklar