فروش لایسنس Power BI

با ما داده های خود را درک کنید تا برای آینده کسب و کارتان بهتر تصمیم گیری کنید.

تابع IF.EAGER در توابع منطقی (Logical Functions) Power BI

تابع IF.EAGER در DAX

تابع IF.EAGER در توابع منطقی (Logical Functions) Power BI

تابع IF.EAGER در Power BI نسخه‌ای از تابع IF در زبان DAX است که از ارزیابی eager استفاده می‌کند؛ یعنی تمام شاخه‌های شرطی (چه درست و چه نادرست) را همیشه اجرا می‌کند، صرف‌نظر از نتیجه شرط.

تعریف تابع IF.EAGER

DAX
IF.EAGER(<logical_test>, <value_if_true>[, <value_if_false>])
  • <logical_test>: شرطی که باید بررسی شود (مثلاً Sales[Amount] > 1000)
  • <value_if_true>: مقداری که اگر شرط درست باشد، بازگردانده می‌شود
  • <value_if_false> (اختیاری): مقداری که اگر شرط نادرست باشد، بازگردانده می‌شود؛ در صورت حذف، خروجی BLANK() خواهد بود

تفاوت با تابع IF معمولی

ویژگی IF IF.EAGER
نوع ارزیابی تنبل (lazy) – فقط شاخه مورد نیاز اجرا می‌شود مشتاق (eager) – هر دو شاخه همیشه اجرا می‌شوند
عملکرد بهینه‌تر در بسیاری از سناریوها مفید در شرایط خاص مانند وابستگی متقابل
کاربرد عمومی زمانی که نیاز به اجرای هر دو شاخه دارید
مثال ساده
DAX
IF.EAGER(
    Sales[Amount] > 1000,
    CALCULATE(SUM(Sales[Profit])),
    CALCULATE(SUM(Sales[Loss]))
)

در این مثال، هر دو عبارت CALCULATE اجرا می‌شوند، حتی اگر فقط یکی از آن‌ها در نهایت بازگردانده شود.

 کاربردهای رایج

  • زمانی که هر دو شاخه دارای اثرات جانبی یا محاسبات وابسته هستند
  • در محاسبات تصویری (visual calculations) که نیاز به ارزیابی کامل دارند
  • برای ساده‌سازی کد در شرایطی که استفاده از متغیرها دشوار است

ملاحظات

  • استفاده از IF.EAGER ممکن است کارایی را کاهش دهد، چون همه شاخه‌ها اجرا می‌شوند
  • اگر فقط یکی از شاخه‌ها نیاز به اجرا دارد، از IF معمولی استفاده کنید
  • این تابع در ستون‌های محاسبه‌شده، جدول‌های محاسبه‌شده، معیارها و محاسبات تصویری قابل استفاده است
  • تابع IF.EAGER می‌تواند در صورتی که value_if_true و value_if_false از انواع داده متفاوتی باشند، یک نوع داده متغیر را برگرداند، اما اگر هر دو value_if_true و value_if_false از نوع داده عددی باشند، تابع تلاش می‌کند یک نوع داده واحد را برگرداند. در حالت دوم، تابع IF.EAGER به طور ضمنی انواع داده را برای تطبیق با هر دو مقدار تبدیل می‌کند.
  • به عنوان مثال، فرمول IF.EAGER(<condition>, TRUE(), 0) مقدار TRUE یا 0 را برمی‌گرداند، اما فرمول IF.EAGER(<condition>, 1.0, 0) فقط مقادیر اعشاری را برمی‌گرداند، حتی اگر value_if_false از نوع داده عدد کامل باشد.
  • IF.EAGER رفتار عملکردی مشابهی با تابع IF دارد، اما عملکرد ممکن است به دلیل تفاوت در برنامه‌های اجرایی متفاوت باشد. تابع IF.EAGER(<logical_test>, <value_if_true>, <value_if_false>) طرح اجرایی مشابه عبارت DAX زیر دارد:
DAX

VAR _value_if_true = <value_if_true>
VAR _value_if_false = <value_if_false>
RETURN
IF (<logical_test>, _value_if_true, _value_if_false)

نکته: دو عبارت شاخه‌ای صرف نظر از عبارت شرط ارزیابی می‌شوند.

 

برای خرید لایسنس نرم افزار Power BI ، می‌توانید از خدمات ما استفاده نموده و درخواست خود را از طریق فرم زیر ثبت نمایید.

فرم درخواست لایسنس Power BI

میتوانید پاور بی آی دسکتاپ رایگان را دانلود کنید : Power BI desktop download

 

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پیمایش به بالا