TREATAS

适用于:计算列计算表度量值视觉对象计算

将表表达式的结果作为筛选器应用于无关表中的列。

语法

TREATAS(table_expression, <column>[, <column>[, <column>[,…]]]} )  

parameters

术语 定义
table_expression 生成表的表达式。
柱形图 一个或多个现有列。 它不能是表达式。

返回值

一个包含 column 和 table_expression 中共同存在的所有行的表。

备注

  • 指定的列数必须与表表达式中的列数匹配,并按相同的顺序排列。

  • 如果列中不存在表表达式中返回的值,则将其忽略。 例如,TREATAS({"Red", "Green", "Yellow"}, DimProduct[Color]) 对 DimProduct[Color] 列设置了具有“Red”、“Green”和“Yellow”三个值的筛选器。 如果 DimProduct[Color] 中不存在“Yellow”,则有效的筛选器值为“Red”和“Green”。

  • 表之间不存在关系时,最适合使用。 如果涉及的表之间存在多个关系,请考虑改用 USERELATIONSHIP

  • 在已计算的列或行级安全性 (RLS) 规则中使用时,不支持在 DirectQuery 模式下使用此函数。

示例

在下面的示例中,该模型包含两个不相关的产品表。 如果用户将筛选器应用于 DimProduct1[ProductCategory],且选择了“Bikes”、“Seats”和“Tires”,则相同的筛选器(“Bikes”、“Seats”和“Tires”)将应用于 DimProduct2[ProductCategory]。

CALCULATE(
SUM(Sales[Amount]), 
TREATAS(VALUES(DimProduct1[ProductCategory]), DimProduct2[ProductCategory])
)

INTERSECT
FILTER
USERELATIONSHIP