تابع SELECTEDVALUE در Power BI
تابع SELECTEDVALUE در Power BI برای استخراج مقدار انتخابشده از یک ستون در زمینه فیلتر استفاده میشود. اگر فقط یک مقدار انتخاب شده باشد، همان را برمیگرداند؛ در غیر این صورت مقدار جایگزین یا BLANK را نمایش میدهد.
تعریف تابع SELECTEDVALUE
تابع SELECTEDVALUE در زبان DAX به شکل زیر نوشته میشود:
SELECTEDVALUE(<columnName>[, <alternateResult>])
columnName: نام ستونی که میخواهید مقدار انتخابشده از آن را بررسی کنید.alternateResult(اختیاری): مقداری که در صورت انتخاب صفر یا بیش از یک مقدار در زمینه فیلتر، نمایش داده میشود. اگر مشخص نشود، مقدار پیشفرضBLANK()خواهد بود.
کاربردهای رایج
- در گزارشهای تعاملی: برای نمایش عنوان یا مقدار انتخابشده توسط کاربر در slicer یا visual.
- در ساخت measureهای پویا: برای تغییر رفتار محاسبات بر اساس انتخاب کاربر.
- در شرطگذاری: برای بررسی اینکه آیا فقط یک مقدار انتخاب شده یا خیر.
✅ مثال 1
فرض کنید یک slicer دارید که نام یک محصول را انتخاب میکند. میخواهید نام محصول انتخابشده را در یک کارت نمایش دهید:
DAX
SelectedProduct = SELECTEDVALUE(Products[ProductName])
اگر کاربر فقط یک محصول را انتخاب کند، نام آن محصول نمایش داده میشود. اگر هیچ یا چند محصول انتخاب شود، متن جایگزین نمایش داده خواهد شد یا BLANK() را برمیگرداند.
✅ مثال 2
کوئری DAX زیر:
DEFINE
MEASURE DimProduct[Selected Color] = SELECTEDVALUE(DimProduct[Color], "No Single Selection")
EVALUATE
SUMMARIZECOLUMNS
(ROLLUPADDISSUBTOTAL(DimProduct[Color], "Is Total"),
"Selected Color", [Selected Color])ORDER BY [Is Total] ASC,
[Color] ASC
موارد زیر را برمیگرداند:
| DimProduct[Color] | [Is Total] | [Selected Color] |
|---|---|---|
| Black | FALSE |
Black |
| Blue | FALSE |
Blue |
| Grey | FALSE |
Grey |
| Multi | FALSE |
Multi |
| NA | FALSE |
NA |
| Red | FALSE |
Red |
| Silver | FALSE |
Silver |
| Silver/Black | FALSE |
Silver/Black |
| White | FALSE |
White |
| Yellow | FALSE |
Yellow |
| “ | TRUE |
No Single Selection |
⚠️ نکات مهم
- اگر فقط یک مقدار در زمینه فیلتر وجود داشته باشد، همان مقدار را برمیگرداند.
- اگر هیچ مقدار یا چند مقدار وجود داشته باشد، مقدار جایگزین یا BLANK را برمیگرداند.
- معادل این تابع میتواند به صورت زیر نیز نوشته شود:
IF(HASONEVALUE(Products[ProductName]), VALUES(Products[ProductName]), "هیچ محصولی انتخاب نشده")
اما SELECTEDVALUE این منطق را سادهتر و خواناتر میکند
مزایای استفاده از SELECTEDVALUE
- کد کوتاهتر و خواناتر: نیازی به استفاده از
IFوHASONEVALUEنیست. - عملکرد مشابه: در صورتی که فقط یک مقدار انتخاب شده باشد، همان را برمیگرداند؛ در غیر این صورت مقدار جایگزین یا BLANK.
- مناسب برای کارتها، عنوانها، و شرطهای پویا در گزارشهای Power BI.
ملاحضات
- یک عبارت معادل برای SELECTEDVALUE(<columnName>, <alternateResult>) IF(HASONEVALUE(<columnName>), VALUES(<columnName>), <alternateResult> است.
- برای کسب اطلاعات بیشتر در مورد بهترین شیوهها هنگام استفاده از SELECTEDVALUE، به بخش «استفاده از SELECTEDVALUE به جای VALUES در DAX» مراجعه کنید.
- این تابع برای استفاده در حالت DirectQuery هنگام استفاده در ستونهای محاسبهشده یا قوانین امنیتی سطح ردیف (RLS) پشتیبانی نمیشود.
برای خرید لایسنس نرم افزار Power BI ، میتوانید از خدمات ما استفاده نموده و درخواست خود را از طریق فرم زیر ثبت نمایید.
میتوانید پاور بی آی دسکتاپ رایگان را دانلود کنید : Power BI desktop download
