CONTAINSROW 函数

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

返回 TRUEif 至少有一行 all 列指定了 values。

语法

DAX
CONTAINSROW(<Table>, <Value> [, <Value> [, …] ] ) 

参数

术语 定义
Table 要测试的表。
Value 返回标量 value的任何有效 DAX 表达式。

返回 value

TRUE or FALSE

言论

  • Except 语法,IN 运算符 and CONTAINSROW 函数在功能上等效。

    DAX
    <scalarExpr> IN <tableExpr> 
    ( <scalarExpr1>, <scalarExpr2>, … ) IN <tableExpr>
    
    • scalarExprN 的数量必须与 tableExpr 中的列数匹配。
    • NOT IN 在 DAX中 not 运算符。 若要执行 IN 运算符的逻辑求反,请将 NOT 放在整个表达式的前面。 例如,NOT [Color] IN { “Red”, “Yellow”, “Blue” }.
  • 与 = 运算符不同,IN 运算符 and CONTAINSROW 函数执行严格比较。 例如,BLANKvaluenot 匹配 0。

例子

本文中的示例可用于 sample Adventure Works DW 2020 Power BI Desktop 模型。 若要获取模型,请参阅 DAXsample 模型

示例 1

以下 DAX 查询:

DAX
EVALUATE
FILTER (
    ALL ( Product[Color] ),
    ( [Color] )
        IN {
        "Red",
        "Yellow",
        "Blue"
    }
)
ORDER BY [Color]

and

DAX
EVALUATE
FILTER (
    ALL ( Product[Color] ),
    CONTAINSROW (
        {
            "Red",
            "Yellow",
            "Blue"
        },
        [Color]
    )
)
ORDER BY [Color]

返回具有单个列的下表:

[颜色]
黄色

示例 2

以下等效 DAX 查询:

DAX
EVALUATE
FILTER (
    ALL ( Product[Color] ),
    NOT [Color]
        IN {
        "Red",
        "Yellow",
        "Blue"
    }
)
ORDER BY [Color]

and

DAX
EVALUATE
FILTER (
    ALL ( Product[Color] ),
    NOT CONTAINSROW (
        {
            "Red",
            "Yellow",
            "Blue"
        },
        [Color]
    )
)
ORDER BY [Color]

返回具有单个列的下表:

[颜色]
灰色
Silver\Black

IN 运算符
DAX 查询