如果至少有一行存在所有列具有指定值的行,则返回 TRUE。
语法
CONTAINSROW(<Table>, <Value> [, <Value> [, …] ] )
参数
| 术语 | 定义 |
|---|---|
Table |
要测试的表。 |
Value |
返回标量值的任何有效 DAX 表达式。 |
返回值
TRUE 或 FALSE。
言论
除语法外,
IN运算符和 CONTAINSROW 函数在功能上是等效的。<scalarExpr> IN <tableExpr> ( <scalarExpr1>, <scalarExpr2>, … ) IN <tableExpr>- scalarExprN 的数量必须与 tableExpr 中的列数匹配。
- NOTIN 不是一个运算符。DAX 若要执行 IN 运算符的逻辑求反,请将 NOT 放在整个表达式的前面。 例如,NOT [Color] IN { “Red”, “Yellow”, “Blue” }.
与 = 运算符不同,IN 运算符和 CONTAINSROW 函数执行严格比较。 例如, BLANK 该值与 0 不匹配。
例子
本文中的示例可用于示例 Adventure Works DW 2020 Power BI Desktop 模型。 若要获取模型,请参阅 DAX 示例模型。
示例 1
以下 DAX 查询:
EVALUATE
FILTER ( ALL ( Product[Color] ), ( [Color] ) IN { "Red", "Yellow", "Blue" } )
ORDER BY [Color]
和
EVALUATE
FILTER (
ALL ( Product[Color] ),
CONTAINSROW ( { "Red", "Yellow", "Blue" }, [Color] )
)
ORDER BY [Color]
返回具有单个列的下表:
| [颜色] |
|---|
| 蓝 |
| 红 |
| 黄色 |
示例 2
以下等效 DAX 查询:
EVALUATE
FILTER ( ALL ( Product[Color] ), NOT [Color] IN { "Red", "Yellow", "Blue" } )
ORDER BY [Color]
和
EVALUATE
FILTER (
ALL ( Product[Color] ),
NOT CONTAINSROW ( { "Red", "Yellow", "Blue" }, [Color] )
)
ORDER BY [Color]
返回具有单个列的下表:
| [颜色] |
|---|
| 黑 |
| 灰色 |
| 多 |
| 那 |
| 银 |
| 银/黑 |
| 白 |