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.
Veri modelleyicisi olarak, değerlendirme zamanı hatasına neden olabilecek bir DAX ifadesi yazdığınızda, iki yararlı DAX işlevi kullanmayı düşünebilirsiniz.
- ISERROR işlevi, tek bir ifade alır ve ifade hatayla sonuçlanırsa TRUE döndürür.
- IFERROR işlevi, iki ifade alan bir işlevdir. İlk ifade hatayla sonuçlanırsa, ikinci ifadenin değeri döndürülür. Aslında, ISERROR işlevini bir IF işlevinin içine yerleştirmenin daha iyileştirilmiş bir uygulamasıdır.
Ancak, bu işlevler yararlı olabilir ve anlaşılması kolay ifadeler yazmaya katkıda bulunabilir, ancak hesaplamaların performansını önemli ölçüde düşürebilir. Bu işlevler gereken depolama altyapısı taramalarının sayısını artırdığından bu durum oluşabilir.
Değerlendirme zamanı hatalarının çoğu beklenmeyen BLANK'lardan veya sıfır değerlerden ya da geçersiz veri türü dönüştürmeden kaynaklanıyor.
Öneri
ISERROR ve IFERROR işlevlerini kullanmaktan kaçınmak daha iyidir. Bunun yerine, modeli geliştirirken ve ifadeler yazarken savunma stratejileri uygulayın. Stratejiler şunları içerebilir:
Modele kaliteli verilerin yüklendiğinden emin olun: Geçersiz veya eksik değerleri kaldırmak veya değiştirmek ve doğru veri türlerini ayarlamak için Power Query dönüşümlerini kullanın. Power Query dönüşümü, geçersiz veri dönüştürme gibi hatalar oluştuğunda satırları filtrelemek için de kullanılabilir.
Veri kalitesi, model sütun Boş Değer Atanabilir özelliği Kapalı olarak ayarlanarak da denetlenebilir; bu, boş değerlerle karşılaşılması durumunda veri yenilemeyi engeller. Bu hata oluşursa, başarılı bir yenilemenin sonucu olarak yüklenen veriler tablolarda kalır.
IF işlevini kullanma:IF işlevi mantıksal test ifadesi bir hata sonucunun oluşup oluşmayacağını belirleyebilir. ISERROR ve IFERROR işlevleri gibi bu işlevin de ek depolama altyapısı taramalarına neden olabileceğini, ancak hataya gerek kalmaması nedeniyle büyük olasılıkla onlardan daha iyi performans göstereceğini unutmayın.
Hataya dayanıklı işlevleri kullanma: Bazı DAX işlevleri hata koşullarını test eder ve telafi eder. Bu işlevler bunun yerine döndürülecek alternatif bir sonuç girmenizi sağlar. DIVIDE işlevi bu tür örneklerden biridir. Bu işlev hakkında ek yönergeler için DAX: DIVIDE işlevi ve bölme işleci (/) makalesini okuyun.
Örnek
Aşağıdaki ölçü ifadesi bir hata meydana getirip getirmeyeceğini test eder. Bu örnekte BLANK döndürür (IF işlevine bir value-if-false ifadesi sağlamadığınızda bu durum geçerlidir).
Profit Margin
= IF(ISERROR([Profit] / [Sales]))
Ölçü ifadesinin bu sonraki sürümü, IFERROR ve IF işlevleri yerine ISERROR işlevi kullanılarak geliştirilmiştir.
Profit Margin
= IFERROR([Profit] / [Sales], BLANK())
Ancak, ölçü ifadesinin bu son sürümü aynı sonuca ulaşır, ancak daha verimli ve zarif bir şekilde elde edilir.
Profit Margin
= DIVIDE([Profit], [Sales])
İlgili içerik
- Öğrenme yolu: Power BI Desktop'ta DAX kullanma
- Soru? Power BI Topluluğu'na sormayı deneyin
- Öneri? Power BI geliştirmek için fikirlere katkıda bulunma