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