次の方法で共有


ISFILTERED 関数 (DAX)

columnName が直接フィルター処理される場合は、TRUE を返します。 列にフィルターがない場合、または同じテーブルまたは関連テーブルの別の列がフィルター処理の対象となっているためにフィルター処理が発生する場合、この関数は FALSE を返します。

構文

ISFILTERED(<columnName>)

パラメーター

  • columnName
    標準 DAX 構文を使用した既存の列の名前。 式を指定することはできません。

戻り値

columnName が直接フィルター処理される場合は TRUE。

説明

  • 1 つまたは複数のフィルターが特定の columnName に適用されているとき、その列は "直接フィルター処理されている" といいます。同じテーブル内または関連テーブル内の別の列に適用されたフィルターがその列をフィルター処理することによって columnName に影響を及ぼしているときは、列が "クロスフィルター処理されている" といいます。

  • 関連する ISCROSSFILTERED 関数 (DAX) 関数は、columnName または同じテーブル内か関連テーブル内の別の列がフィルター処理されている場合、TRUE を返します。

使用例

次の例では、メジャーを作成した後、ISFILTERED() の動作を説明するさまざまなシナリオを示します。 Data Analysis Expressions (DAX) のサンプル データ スプレッドシートをダウンロードすることにより、これらのシナリオの手順を実行できます。

最初に、[Product] テーブルに [Is ProductName Filtered directly] メジャーを作成します。

=ISFILTERED(Product[ProductName])

ISFILTERED() について:

  1. メジャーを作成した後、式はフィルター処理されていないため、[Is ProductName Filtered directly] は FALSE であるとピボットテーブルに示されます。 このとき、ピボットテーブルには次のように表示されています。

    Is ProductName Filtered directly

    FALSE

    ピボットテーブルに何も表示されない場合は、[Is ProductName Filtered directly] を [値] ボックスにドラッグします。

  2. ProductCategory[ProductCategoryName] を [行ラベル] ボックスにドラッグします。すべての値が FALSE と表示され、テーブルは次のようになります。

    行ラベル

    Is ProductName Filtered directly

    Accessories

    FALSE

    Bikes

    FALSE

    Clothing

    FALSE

    Components

    FALSE

    FALSE

    総計

    FALSE

    ProductCategory[ProductCategoryName] は Product[ProductName] を間接的にフィルター処理 (クロスフィルター処理) し、列に対する直接的なフィルター処理を行わないため、テーブルの値は FALSE となります。

  3. Product[Status] を [列ラベル] ボックスにドラッグします。すべての値が FALSE と表示され、テーブルは次のようになります。

    Is ProductName Filtered directly

    列ラベル

    行ラベル

    Current

    総計

    Accessories

    FALSE

    FALSE

    FALSE

    Bikes

    FALSE

    FALSE

    FALSE

    Clothing

    FALSE

    FALSE

    FALSE

    Components

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    総計

    FALSE

    FALSE

    FALSE

    Product[Status] は Product[Name] を直接フィルター処理しないため、テーブルには多くの FALSE 値が示されたままです。

  4. このプロセスの最後の手順として、Product[Name] を [レポート フィルター] ボックスにドラッグします。 この時点では、何も変化しません。ただし、製品名を選択すると、テーブル値が TRUE に変化します。 選択した製品によって、テーブルは次のようになります。

    ProductName

    Mountain-400-W Silver, 38

    Is ProductName Filtered directly

    列ラベル

    行ラベル

    Current

    総計

    Accessories

    TRUE

    TRUE

    Bikes

    TRUE

    TRUE

    Clothing

    TRUE

    TRUE

    Components

    TRUE

    TRUE

    TRUE

    TRUE

    総計

    TRUE

    TRUE

  5. ISFILTERED() を使用すると、式が評価されるコンテキストにおいて columnName が直接フィルター処理されるかどうかを確認できます。

この例では、DAX_AdventureWorks サンプル スプレッドシート モデルを使用しています。

関連項目

参照

ISCROSSFILTERED 関数 (DAX)

FILTERS 関数 (DAX)

HASONEFILTER 関数 (DAX)

HASONEVALUE 関数 (DAX)