TREATAS

适用于:计算列计算表Measure视觉计算

将表表达式的结果作为 filters 应用于不相关的表中的列。

语法

DAX
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]。

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

INTERSECT FILTER USERELATIONSHIP