CONTAINSROW 函数

如果表中存在或包含一行值,则返回 TRUE,否则返回 FALSE。

语法

CONTAINSROW(<tableExpr>, <scalarExpr>[, <scalarExpr>, …]) 

parameters

术语定义
scalarExprN任何返回标量值的有效 DAX 表达式。
tableExpr任何返回数据表的有效 DAX 表达式。

返回值

True 或 False。

备注

  • 除语法外,IN 运算符和 CONTAINSROW 函数在功能上是等效的。

    <scalarExpr> IN <tableExpr> ( <scalarExpr1>, <scalarExpr2>, … ) IN <tableExpr>
    • scalarExprN 的数量必须与 tableExpr 中的列数相匹配。
    • NOT IN 不是 DAX 中的运算符。 要执行 IN 运算符的逻辑否定,请将 NOT 放在整个表达式前面。 例如,NOT [Color] IN { "Red", "Yellow", "Blue" }。
  • 与 = 运算符不同,IN 运算符和 CONTAINSROW 函数执行严格的比较。 例如,空白值与 0 不匹配。

示例 1

下面是等效的 DAX 查询:

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

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

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

返回以下单列表:

DimProduct[Color]
蓝色
Red
Yellow

示例 2

下面是等效的 DAX 查询:

EVALUATE FILTER(SUMMARIZE(DimProduct, [Color], [Size]), ([Color], [Size]) IN {  ("Black", "L")  })

EVALUATE FILTER(SUMMARIZE(DimProduct, [Color], [Size]), CONTAINSROW({  ("Black", "L")  }, [Color], [Size]))

返回:

DimProduct[Color]DimProduct[Size]
黑色L

示例 3

下面是等效的 DAX 查询:

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

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

返回以下单列表:

DimProduct[Color]
黑色
灰色
NA
Silver
银色\黑色
White

results matching ""

    No results matching ""