ISCROSSFILTERED 函数 (DAX)

当正在筛选 columnName 或相同表或相关表中的其他列时,返回 TRUE。

语法

ISCROSSFILTERED(<columnName>)

参数

  • columnName
    使用标准 DAX 语法的现有列的名称。 它不能是表达式。

返回值

当正在筛选 columnName 或相同表或相关表中的其他列时,返回 TRUE。 否则,返回 FALSE。

注释

  • 当应用于同一个表或相关表中其他列的筛选器通过对 columnName 进行筛选而影响该列时,则称对该列进行交叉筛选。 当对一列应用一个或多个筛选器时,则称对该列进行“直接”筛选。

  • 当对 columnName 进行直接筛选时,相关的函数 ISFILTERED 函数 (DAX) 返回 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] 拖到 Column Labels 框中,并将 SalesTerritory[SalesTerritoryGroup] 拖到 Row Labels 框中;所有值均应显示为 FALSE。 现在,您应看到类似如下的内容:

    Is Product Name CrossFiltered

    列标签

    行标签

    2005

    2006

    2007

    2008

    Grand Total

    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

    Grand Total

    FALSE

    FALSE

    FALSE

    FALSE

    FLASE

    FLASE

    您会在所有单元中看到值 FALSE,因为 DateTime[CalendarYear] 或 SalesTerritory[SalesTerritoryGroup] 对于 Product[ProductName] 都没有带来筛选影响。

  3. 将列 ProductCategory[ProductCategoryName] 拖到**“水平切片器”框中,并将 ProductSubCategory[ProductSubCategoryName] 拖到“垂直切片器”**框中。 所有的值应仍显示为 FALSE,这是因为当您将列添加到切片器框时,尚未选择切片集。 因此,您应看到类似如下的内容:

    ProductCategoryName

    Accessories

    Bikes

    Clothing

    Components

    ProductSubcategoryName

    Is Product Name CrossFiltered

    列标签

    Bib-Shorts

    行标签

    2005

    2006

    2007

    2008

    Grand Total

    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

    Grand Total

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    Chains

    Cleaners

    Cranksets

    Derailleurs

    Fenders

    Forks

    Gloves

    Handlebars

    Headsets

  4. 在切片器中选择任何项,您的表现在会将所有单元转换为 TRUE,因为您现在正在通过相关表 ProductCategory 和 ProductSubcategory 筛选 [ProductName] 列。 结果应如下所示:

    ProductCategoryName

    Accessories

    Bikes

    Clothing

    Components

    ProductSubcategoryName

    Is Product Name CrossFiltered

    列标签

    Bib-Shorts

    行标签

    2005

    2006

    2007

    2008

    Grand Total

    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

    Grand Total

    TRUE

    TRUE

    TRUE

    TRUE

    TRUE

    TRUE

    Chains

    Cleaners

    Cranksets

    Derailleurs

    Fenders

    Forks

    Gloves

    Handlebars

    Headsets

  5. 您现在可以将切片器替换为 Product[ProductName] 和 Product[ModelName]。 只要您没有在任何切片器上选择任何项,此度量值将返回 FALSE;但是,当您在切片器中选择某一项时,度量值现在将返回 TRUE,因为您正在根据 Product[ProductName] 筛选其自身,或者通过选择 Product[ModelName] 来筛选 Product[ProductName]。

  6. 总之,通过 ISCROSSFILTERED() 可以确定是否在对 DAX 表达式进行计算的上下文中筛选 columnName。

此示例使用 DAX_AdventureWorks 示例电子表格模型

请参阅

参考

ISFILTERED 函数 (DAX)

FILTERS 函数 (DAX)

HASONEFILTER 函数 (DAX)

HASONEVALUE 函数 (DAX)