Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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.
Uyarı
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.
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.
Excel çalışma kitabındaki hataların, her hücredeki [Error] değeri ile 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.
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.
Uyarı
Alternatif bir yaklaşım olarak, catch anahtar sözcüğünü parametre gerektirmeyen bir işlevle birlikte kullanarak, önceki formülle eşdeğer olan try [Standard Rate] catch ()=> [Special Rate] 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 içeren satırlar dışında #REF! sütunundaki değer kullanılır.
Uyarı
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ında herhangi bir boşluk 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:
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 try kullan
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.
İ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.
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.
Bu işlem üç yeni alanı kullanıma sunar:
- All Errors.HasError— Standart Oran sütunundaki değerin bir hata içerip içermediğini 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.
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 mesajı
- 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.
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.Error.Message sütunundaki değer
nulleşitse, çıkış, Standart Oran sütunundaki değerdir. - Aksi takdirde, Tüm Hatalar.Error.Message sütunundaki değer
Invalid cell value '#REF!'.şuna eşit değilse, çıktı Özel Oran sütunundaki değer olacaktır. - Aksi halde, null.
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.
try ve catch özel mantık ile kullanın
Alternatif olarak, try ve catch anahtar sözcüklerini kullanarak yeni bir özel sütun oluşturabilirsiniz.
try [Standard Rate] catch (r)=> if r[Message] <> "Invalid cell value '#REF!'." then [Special Rate] else null