به جای VALUES از SELECTEDVALUE استفاده کنید
تابع SELECTEDVALUE جایگزینی سادهتر و خواناتر برای ترکیب VALUES و HASONEVALUE در DAX است، مخصوصاً زمانی که فقط یک مقدار از یک ستون در زمینه فیلتر انتظار میرود.
به عنوان یک مدلساز داده، گاهی اوقات ممکن است نیاز داشته باشید یک عبارت DAX بنویسید که بررسی کند آیا یک ستون توسط یک مقدار خاص فیلتر شده است یا خیر.
در نسخههای قبلی DAX، این نیاز با استفاده از الگویی شامل سه تابع DAX IF، HASONEVALUE و VALUES به طور ایمن محقق میشد. تعریف معیار زیر مثالی را ارائه میدهد. این معیار، مبلغ مالیات فروش را محاسبه میکند، اما فقط برای فروش به مشتریان استرالیایی.
Australian Sales Tax =
IF(
HASONEVALUE(Customer[Country-Region]),
IF(
VALUES(Customer[Country-Region]) = "Australia",
[Sales] * 0.10
)
)
در مثال، تابع HASONEVALUE فقط زمانی مقدار TRUE را برمیگرداند که یک مقدار از ستون Country-Region در متن فیلتر فعلی قابل مشاهده باشد. وقتی TRUE باشد، تابع VALUES با متن تحتاللفظی “Australia” مقایسه میشود. وقتی تابع VALUES مقدار TRUE را برمیگرداند، معیار فروش در 0.10 (که نشاندهنده 10٪ است) ضرب میشود. اگر تابع HASONEVALUE مقدار FALSE را برگرداند – زیرا بیش از یک مقدار ستون را فیلتر میکند – اولین تابع IF مقدار BLANK را برمیگرداند.
استفاده از HASONEVALUE یک تکنیک دفاعی است. این روش لازم است زیرا ممکن است چندین مقدار، ستون Country-Region را فیلتر کنند. در این حالت، تابع VALUES جدولی از چندین ردیف را برمیگرداند. مقایسه یک جدول از چندین ردیف با یک مقدار اسکالر منجر به خطا میشود.
نکات مهم
توصیه میشود از تابع SELECTEDVALUE استفاده کنید. این روش همان نتیجهای را که الگوی شرح داده شده در این مقاله به دست میدهد، اما کارآمدتر و زیباتر.
با استفاده از تابع SELECTEDVALUE، تعریف معیار نمونه اکنون بازنویسی شده است.
Australian Sales Tax =
IF(
SELECTEDVALUE(Customer[Country-Region]) = "Australia",
[Sales] * 0.10
)
میتوان یک مقدار نتیجه جایگزین را به تابع SELECTEDVALUE ارسال کرد. مقدار نتیجه جایگزین زمانی بازگردانده میشود که یا هیچ فیلتری – یا چندین فیلتر – روی ستون اعمال نشده باشد.
برای خرید لایسنس نرم افزار Power BI ، میتوانید از خدمات ما استفاده نموده و درخواست خود را از طریق فرم زیر ثبت نمایید.
میتوانید پاور بی آی دسکتاپ رایگان را دانلود کنید : Power BI desktop download
