CONTAINSROW 関数
すべての列に指定の値が含まれる行が 1 つ以上存在する場合に TRUE を返します。
構文
CONTAINSROW(<Table>, <Value> [, <Value> [, …] ] )
パラメーター
用語 | 定義 |
---|---|
テーブル | テストするテーブル。 |
値 | スカラー値を返す任意の有効な DAX 式。 |
戻り値
True または False。
解説
構文を除き、IN 演算子と CONTAINSROW 関数は機能的に同等です。
<scalarExpr> IN <tableExpr> ( <scalarExpr1>, <scalarExpr2>, … ) IN <tableExpr>
- scalarExprN の数は、tableExpr の列数と一致する必要があります。
- NOT IN は DAX の演算子ではありません。 IN 演算子の論理否定を実行するには、式全体の前に NOT を置きます。 たとえば、NOT [Color] IN { "Red", "Yellow", "Blue" } です。
= 演算子とは異なり、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]
and
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]
and
EVALUATE
FILTER (
ALL ( Product[Color] ),
NOT CONTAINSROW (
{
"Red",
"Yellow",
"Blue"
},
[Color]
)
)
ORDER BY [Color]
次の単一の列を含むテーブルが返されます。
[Color] |
---|
Black |
グレー |
複数 |
N/A |
シルバー |
シルバー\黒 |
白 |