تابع IFERROR در توابع منطقی (Logical Functions) Power BI
تابع IFERROR در Power BI برای مدیریت خطاها در محاسبات DAX استفاده میشود. این تابع ابتدا یک عبارت را ارزیابی میکند و اگر نتیجه آن خطا باشد، مقدار جایگزین مشخصشده را بازمیگرداند؛ در غیر این صورت، مقدار اصلی را نمایش میدهد.
ساختار تابع IFERROR
IFERROR(<value>, <value_if_error>)
<value>: عبارتی که ممکن است خطا تولید کند (مانند تقسیم بر صفر یا ارجاع نامعتبر).<value_if_error>: مقداری که در صورت بروز خطا باید نمایش داده شود.
نحوه عملکرد
تابع IFERROR معادل زیر است:
IF(ISERROR(<value>), <value_if_error>, <value>)
یعنی ابتدا بررسی میکند که آیا عبارت اول خطا دارد یا نه؛ اگر دارد، مقدار جایگزین را برمیگرداند.
مثال ساده
مثال زیر اگر عبارت ۲۵/۰ به خطا ارزیابی شود، مقدار ۹۹۹۹ را برمیگرداند. اگر عبارت مقداری غیر از خطا را برگرداند، آن مقدار به عبارت فراخوانیکننده ارسال میشود.
= IFERROR(25/0,9999)
مثال کاربردی
فرض کنید میخواهید حاصل تقسیم سود بر فروش را محاسبه کنید، اما ممکن است مقدار فروش صفر باشد:
ProfitRatio :=
IFERROR(Sales[Profit] / Sales[Amount], 0)
در این مثال، اگر Sales[Amount] صفر باشد و تقسیم باعث خطا شود، خروجی برابر با 0 خواهد بود.
نکات مهم
- هر دو آرگومان باید از نوع داده مشابه باشند (مثلاً هر دو عددی یا هر دو متنی).
- اگر یکی از آرگومانها
BLANK()باشد، تابع آن را به عنوان رشته خالی""در نظر میگیرد. - این تابع در ستونهای محاسبهشده، جدولهای محاسبهشده، معیارها و محاسبات تصویری قابل استفاده است.
کاربردهای رایج
- جلوگیری از نمایش خطا در گزارشها
- جایگزینی خطاها با مقدار پیشفرض
- افزایش پایداری و خوانایی مدلهای DAX
ملاحظات
- شما میتوانید از تابع IFERROR برای به دام انداختن و مدیریت خطاها در یک عبارت استفاده کنید.
- اگر value یا value_if_error یک سلول خالی باشد، IFERROR با آن به عنوان یک مقدار رشتهای خالی (“”) رفتار میکند.
- تابع IFERROR بر اساس تابع IF است و از همان پیامهای خطا استفاده میکند، اما آرگومانهای کمتری دارد. رابطه بین تابع IFERROR و تابع IF به شرح زیر است:
- IFERROR(A,B) := IF(ISERROR(A), B, A)
- مقادیری که برای A و B برگردانده میشوند باید از یک نوع داده باشند. بنابراین، ستون یا عبارت مورد استفاده برای value و مقدار برگردانده شده برای value_if_error باید از یک نوع داده باشند.
- این تابع برای استفاده در حالت DirectQuery هنگام استفاده در ستونهای محاسبه شده یا قوانین امنیتی سطح ردیف (RLS) پشتیبانی نمیشود.
برای خرید لایسنس نرم افزار Power BI ، میتوانید از خدمات ما استفاده نموده و درخواست خود را از طریق فرم زیر ثبت نمایید.
میتوانید پاور بی آی دسکتاپ رایگان را دانلود کنید : Power BI desktop download
