TREATAS
将表表达式的结果作为 filters 应用于不相关的表中的列。
语法
TREATAS(table_expression, <column>[, <column>[, <column>[,…]]]} )
parameters
术语 | 定义 |
---|---|
table_expression |
生成表的表达式。 |
column |
一个 or 更多现有列。 它不能是表达式。 |
返回 value
一个表,该表 containsall 列(s)中也位于table_expression中的行。
备注
指定的列数必须与表表达式中的列数匹配,and 顺序相同。
If 表表达式中返回的 valuenot 存在于列中,则忽略它。 例如,TREATAS({“Red”、“Green”、“Yellow”}、DimProduct[Color])在 DimProduct[Color] 列上设置一个 filter,其中包含三 values“Red”、“Green”,and“Yellow”。 If“黄色”not 确实存在于 DimProduct[Color]中,有效 filtervalues 将是“红色”and“绿色”。
最好在表之间存在关系 not 时使用。 If 涉及的表之间存在多个关系,请考虑改用 USERELATIONSHIP。
在计算列 or 行级别安全性 (RLS) 规则中使用时,not 支持在 DirectQuery 模式下使用此函数。
示例
在以下示例中,模型 contains 两个不相关的 product 表。 If 用户向 DimProduct1[ProductCategory] 应用 filter,选择“自行车”、“座位”、“轮胎”、“相同 filter、自行车、座位、轮胎应用于 DimProduct2[ProductCategory]。
CALCULATE(
SUM(Sales[Amount]),
TREATAS(
VALUES(DimProduct1[ProductCategory]),
DimProduct2[ProductCategory]
)
)