Функция CONTAINSROW
применимо:вычисляемый столбецвычисляемой таблицеMeasureвизуального вычисления
Возвращает TRUE
if существует по крайней мере одна строка, в которой all столбцы указали values.
Синтаксис
CONTAINSROW(<Table>, <Value> [, <Value> [, …] ] )
Параметры
Срок | Определение |
---|---|
Table |
Таблица для тестирования. |
Value |
Любое допустимое выражение DAX, возвращающее скалярную value. |
Возврат value
TRUE
or
FALSE
.
Замечания
Except синтаксисе оператор
IN
and функция CONTAINSROW функционально эквивалентна.<scalarExpr> IN <tableExpr> ( <scalarExpr1>, <scalarExpr2>, … ) IN <tableExpr>
- Число скалярныхexprN должно соответствовать количеству столбцов в tableExpr.
- NOT IN not оператором в DAX. Чтобы выполнить логическое отрицание оператора IN, поместите NOT перед всем выражением. Например, NOT [цвет] IN { "Красный", "Желтый", "Синий" }.
В отличие от оператора = оператор IN and функции CONTAINSROW выполняют строгое сравнение. Например, BLANKvaluenot соответствует 0.
Примеры
Примеры в этой статье можно использовать с моделью sample Adventure Works DW 2020 Power BI Desktop. Сведения о получении модели см. в
Пример 1
Следующие запросы DAX:
EVALUATE
FILTER (
ALL ( Product[Color] ),
( [Color] )
IN {
"Red",
"Yellow",
"Blue"
}
)
ORDER BY [Color]
and
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]
and
EVALUATE
FILTER (
ALL ( Product[Color] ),
NOT CONTAINSROW (
{
"Red",
"Yellow",
"Blue"
},
[Color]
)
)
ORDER BY [Color]
Верните следующую таблицу с одним столбцом:
[Цвет] |
---|
Чёрный |
Серый |
Мульти |
NA |
Серебро |
Silver\Black |
Белый |