Функция CONTAINSROW
применяется:вычисляемый столбецвычисляемой таблицыизмерениевизуального вычисления
Возвращает TRUE
, если существует по крайней мере одна строка, где все столбцы имеют указанные значения.
Синтаксис
CONTAINSROW(<Table>, <Value> [, <Value> [, …] ] )
Параметры
Срок | Определение |
---|---|
Table |
Таблица для тестирования. |
Value |
Любое допустимое выражение DAX, возвращающее скалярное значение. |
Возвращаемое значение
TRUE
или FALSE
.
Замечания
Кроме синтаксиса, оператор
IN
и функция CONTAINSROW функционально эквивалентны.<scalarExpr> IN <tableExpr> ( <scalarExpr1>, <scalarExpr2>, … ) IN <tableExpr>
- Число скалярныхexprN должно соответствовать количеству столбцов в tableExpr.
- NOT IN не является оператором в DAX. Чтобы выполнить логическое отрицание оператора IN, поместите NOT перед всем выражением. Например, NOT [цвет] IN { "Красный", "Желтый", "Синий" }.
В отличие от оператора = оператор 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]
Верните следующую таблицу с одним столбцом:
[Цвет] |
---|
Чёрный |
Серый |
Мульти |
NA |
Серебро |
Silver\Black |
Белый |