次の方法で共有


ISCROSSFILTERED 関数 (DAX)

columnName、または同じテーブル内か関連テーブル内の別の列がフィルター選択されている場合、TRUE を返します。

構文

ISCROSSFILTERED(<columnName>)

パラメーター

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

戻り値

columnName、または同じテーブル内か関連テーブル内の別の列がフィルター選択されている場合は TRUE。 それ以外の場合は 、FALSE を返します。

説明

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

  • 関連する ISFILTERED 関数 (DAX) 関数は、columnName が直接フィルター処理されている場合に TRUE を返します。

使用例

次の例では、メジャーを作成した後、ISCROSSFILTERED() の動作を説明するさまざまなシナリオを示します。 DAX_AdventureWorks スプレッドシートをダウンロードすると、実際にシナリオの手順に沿って作業することができます。

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

=ISCROSSFILTERED(Product[ProductName])

ISCROSSFILTERED() について:

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

    Is ProductName Cross Filtered

    FALSE

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

  2. DateTime[CalendarYear] を [列ラベル] ボックスにドラッグし、SalesTerritory[SalesTerritoryGroup] を [行ラベル] ボックスにドラッグします。すべての値が FALSE として表示されます。 このとき、ピボットテーブルには次のように表示されています。

    Is Product Name CrossFiltered

    列ラベル

    行ラベル

    2005

    2006

    2007

    2008

    総計

    Europe

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    NA

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    North America

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    Pacific

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    総計

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    すべてのセルの値が FALSE になっています。Product[ProductName] には、DateTime[CalendarYear] と SalesTerritory[SalesTerritoryGroup] のフィルター処理の影響が一切及んでいないためです。

  3. ProductCategory[ProductCategoryName] 列を [水平スライサー] ボックスにドラッグし、ProductSubCategory[ProductSubCategoryName] を [垂直スライサー] ボックスにドラッグします。 この時点では、まだすべての値が FALSE と表示されています。スライサー ボックスに列を追加するときに、スライス セットを選択しなかったためです。 ピボットテーブルには次のように表示されます。

    ProductCategoryName

    Accessories

    Bikes

    Clothing

    Components

    ProductSubcategoryName

    Is Product Name CrossFiltered

    列ラベル

    Bib-Shorts

    行ラベル

    2005

    2006

    2007

    2008

    総計

    Bike-Racks

    Europe

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    Bike-Stands

    NA

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    Bottles and Cages

    North America

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    Bottom Brackets

    Pacific

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    Brakes

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    Caps

    総計

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    Chains

    Cleaners

    クランクセット

    ディレイラー

    フェンダー

    フォーク

    グローブ

    Handlebars

    Headsets

  4. スライサーから何かアイテムを選択すると、テーブルのすべてのセルが TRUE に変わります。関連テーブル ProductCategory および ProductSubcategory を介して Product[ProductName] 列をフィルター処理していることになるためです。 次のように表示されます。

    ProductCategoryName

    Accessories

    Bikes

    Clothing

    Components

    ProductSubcategoryName

    Is Product Name CrossFiltered

    列ラベル

    Bib-Shorts

    行ラベル

    2005

    2006

    2007

    2008

    総計

    Bike-Racks

    Europe

    TRUE

    TRUE

    TRUE

    TRUE

    TRUE

    TRUE

    Bike-Stands

    NA

    TRUE

    TRUE

    TRUE

    TRUE

    TRUE

    TRUE

    Bottles and Cages

    North America

    TRUE

    TRUE

    TRUE

    TRUE

    TRUE

    TRUE

    Bottom Brackets

    Pacific

    TRUE

    TRUE

    TRUE

    TRUE

    TRUE

    TRUE

    Brakes

    TRUE

    TRUE

    TRUE

    TRUE

    TRUE

    TRUE

    Caps

    総計

    TRUE

    TRUE

    TRUE

    TRUE

    TRUE

    TRUE

    Chains

    Cleaners

    クランクセット

    ディレイラー

    フェンダー

    フォーク

    グローブ

    Handlebars

    Headsets

  5. スライサーは、Product[ProductName] および Product[ModelName] に置き換えることができます。 いずれのスライサーでもアイテムが選択されていないと、メジャーは FALSE を返します。ただし、スライサーでアイテムを選択すると、メジャーから TRUE が返されます。Product[ProductName] をそれ自体で (または Product[ModelName] を選択することによって) フィルター処理しているためです。

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

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

関連項目

参照

ISFILTERED 関数 (DAX)

FILTERS 関数 (DAX)

HASONEFILTER 関数 (DAX)

HASONEVALUE 関数 (DAX)