如果表中存在或包含一行值,则返回 TRUE,否则返回 FALSE。 除写法不同外,IN 运算符和 CONTAINSROW 函数在功能上是等效的。
语法
CONTAINSROW ( <表>, <值>, [ <值> … ] )
参数 | 属性 | 描述 |
表 | 需要测试的表,可以使用返回表的表达式 | |
值 | 可重复 | 要在对应列中查找的标量表达式 |
返回值
标量
布尔值,True 或 False
备注
IN 操作符在内部执行 CONTAINSROW。以下两种写法等价:
Product[Color] IN { "Red", "Blue", "Yellow" } CONTAINSROW ( { "Red", "Blue", "Yellow" }, Product[Color] )
标量表达式的数量必须与表表达式中的列数匹配。
与=操作符不同,IN 操作符和 CONTAINSROW 函数执行严格相等的比较。例如,空白值不匹配 0。
NOT IN 不是 DAX 中的操作符。若要执行 IN 运算符的逻辑否定,请将 NOT 放在整个表达式前面。例如:
NOT [Color] IN { "Red", "Yellow", "Blue" }
示例
执行多列匹配的写法:
( 'Date'[Year], 'Date'[MonthNumber] ) IN { ( 2018, 12 ), ( 2019, 1 ) } CONTAINSROW ( { ( 2018, 12 ), ( 2019, 1 ) }, 'Date'[Year], 'Date'[MonthNumber] )
扩展阅读:
- MSDN 文档:CONTAINSROW
- DAX Guide:CONTAINSROW
说点什么