次の方法で共有


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
シルバー
シルバー\黒

IN 演算子
DAX クエリ