این تابع وقتی بکار می رود که بخواهیم یک جدول را بر اساس جدولی دیگری که هیچ relationship بین آنها وجود ندارند، فیلتر کنیم و به عبارت دیگر جدولی که هیچ رابطهای با جدول ما را ندارد، به عنوان یکی از جداولی که در ربطه است، «جا بزنیم.» !
برای مثال در تصویر زیر هیچ رابطهای بین جدول Product و user_category وجود ندارد و ما میخواهیم که مقادیر این جدول را به عنوان مقادیر جدول Category که واقعا با Product رابطه دارد، «جا بزنیم»!

و حال میتوانیم فرمول DAX زیر را به عنوان یک Dax Query بنویسیم:
EVALUATE
CALCULATE(
SUM(OrderDetail[Amount]),
TREATAS(
VALUES(user_category[category_name]),
Category[Category Name]
)
)
و خواهیم دید که در نتیجه فقط مقادیری که در جدول user_category وجود دارد، برای ما فیلتر شده است.
استفاده از تابع TREATAS در MEASURE
حال میخواهیم که مقادیر user_category را به عنوان یک SLICER استفاده کنیم برای اینکار MEASURE زیر را مینویسیم:
Sum of selected user_category =
CALCULATE(
SUM(OrderDetail[Amount]),
TREATAS(
VALUES(user_category[category_name]),
Category[Category Name]
)
)
و این Measure را به شکل زیر در یک Visual خواهیم گذاشت:

حل بدون استفاده از تابع TREATAS
توجه) ممکن است که کاربران تازه کار POWER BI در چنین سناریوهایی، بین جدول user_category و Product یک Relationship جدید ایجاد کنند و مسئله را بدون نیاز به تابع TREATAS حل کنند.
اگر چه این راهکار غلط نیست، اما در نهایت استفاده از این راهکار (یعنی ایجاد رابطه بین جداول) باعث پیچیده شدن Data Model خواهد شد که تلقی من این است تا حد ممکن باید Data Model را خلوت و قابل درک نگه داشت و برای هر مسائلهای اقدام به ایجاد یک رابطه جدید نکنید.
به عنوان اولین نفر، تجربه یا دیدگاه خود را بنویسید!