تابع IF در توابع منطقی (Logical Functions) Power BI
تابع IF در Power BI یکی از پرکاربردترین توابع منطقی در زبان DAX است که برای ایجاد شرط و تصمیمگیری در محاسبات استفاده میشود. این تابع مشابه تابع IF در اکسل عمل میکند و به شما امکان میدهد بر اساس یک شرط، خروجی متفاوتی تولید کنید.
Syntax
IF(<logical_test>, <value_if_true>[, <value_if_false>])
Parameters
| مدت | تعریف |
|---|---|
logical_test |
هر مقدار یا عبارتی که بتواند به صورت TRUE یا FALSE ارزیابی شود. |
value_if_true |
مقداری که در صورت TRUE بودن آزمون منطقی، بازگردانده میشود. |
value_if_false |
(اختیاری) مقداری که در صورت FALSE بودن آزمون منطقی بازگردانده میشود. در صورت حذف، مقدار خالی بازگردانده میشود. |
مقدار بازگشتی
Either value_if_true, value_if_false, or BLANK.
توضیحات
تابع IF میتواند یک نوع داده متغیر (Variant) را بازگرداند اگر مقادیر value_if_true و value_if_false دارای نوع داده متفاوت باشند. اما اگر هر دو مقدار عددی باشند، تابع تلاش میکند تا یک نوع داده یکنواخت را بازگرداند. در این حالت، تابع IF بهصورت ضمنی نوع دادهها را تبدیل میکند تا با هر دو مقدار سازگار باشد.
برای مثال:
- فرمول
IF(<شرط>, TRUE(), 0)مقدار TRUE یا 0 را بازمیگرداند. - اما فرمول
IF(<شرط>, 1.0, 0)فقط مقادیر اعشاری را بازمیگرداند، حتی اگر مقدارvalue_if_falseاز نوع عدد صحیح باشد.
برای اجرای هر دو شاخهی شرطی صرفنظر از نتیجه شرط، از تابع IF.EAGER استفاده کنید.
مثالها
تعاریف ستون محاسبهشده در جدول Product در مثالهای زیر از تابع IF به روشهای مختلفی استفاده میکنند تا هر محصول را بر اساس قیمت لیست آن طبقهبندی کنند.
در اولین مثال، بررسی میشود که آیا مقدار ستون List Price کمتر از ۵۰۰ است یا خیر. اگر این شرط برقرار باشد، مقدار Low بازگردانده میشود. از آنجا که مقدار value_if_false مشخص نشده، مقدار BLANK (خالی) بازگردانده میشود.
Price Group =
IF(
'Product'[List Price] < 500,
"Low"
)
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
"High"
)
مثال سوم از همان آزمون استفاده میکند، اما این بار یک تابع IF را برای انجام یک آزمون اضافی تو در تو میکند. بنابراین، فرمول هر محصول را به عنوان کم، متوسط یا زیاد طبقهبندی میکند.
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
IF(
'Product'[List Price] < 1500,
"Medium",
"High"
)
)
وقتی نیاز دارید چندین تابع IF را به صورت تو در تو بنویسید، تابع SWITCH میتواند گزینه بهتری باشد. این تابع روشی شیکتر برای نوشتن عبارتی ارائه میدهد که بیش از دو مقدار ممکن را برمیگرداند.
ساختار تابع IF در Power BI
IF(شرط, نتیجه اگر درست باشد, نتیجه اگر نادرست باشد)
مثالهای کاربردی
1. بررسی مقدار فروش:
فروش بالا = IF([مقدار فروش] > 100000, "زیاد", "کم")
در این مثال، اگر مقدار فروش بیشتر از ۱۰۰٬۰۰۰ باشد، مقدار “زیاد” نمایش داده میشود؛ در غیر این صورت “کم”.
2. استفاده تو در تو (Nested IF):
وضعیت فروش = IF([فروش] > 100000, "عالی", IF([فروش] > 50000, "متوسط", "ضعیف"))
در این حالت، چند شرط پشت سر هم بررسی میشوند.
جایگزینهای پیشرفتهتر
برای شرایط پیچیدهتر، میتوانید از توابع زیر استفاده کنید:
- SWITCH: برای بررسی چند مقدار مختلف
- IFERROR: برای مدیریت خطاها
- AND / OR: برای ترکیب چند شرط
برای خرید لایسنس نرم افزار Power BI ، میتوانید از خدمات ما استفاده نموده و درخواست خود را از طریق فرم زیر ثبت نمایید.
میتوانید پاور بی آی دسکتاپ رایگان را دانلود کنید : Power BI desktop download
