Función ISCROSSFILTERED (DAX)

Devuelve TRUE si se filtra columnName, u otra columna de la misma tabla o una tabla relacionada.

Sintaxis

ISCROSSFILTERED(<columnName>)

Parámetros

  • columnName
    Nombre de una columna existente, con la sintaxis estándar de DAX. No puede ser una expresión.

Valor devuelto

TRUE si se filtra columnName, u otra columna de la misma tabla o una tabla relacionada. En caso contrario, FALSE.

Comentarios

  • Se dice que columna está afectada por un filtro cruzado cuando un filtro aplicado a otra columna de la misma tabla o de una tabla relacionada afecta a columnName porque también la filtra. Se dice que una columna está filtrada directamente cuando se le aplican filtros.

  • La función relacionada Función ISFILTERED (DAX) devuelve TRUE si columnName se filtra directamente.

Ejemplo

En el ejemplo siguiente se crea una medida y, después, se presentan diferentes escenarios para explicar el comportamiento de ISCROSSFILTERED(). Los escenarios se pueden seguir descargando la hoja de cálculo DAX_AdventureWorks.

Primero, cree la medida siguiente [Is ProductName Cross Filtered] en la tabla [Product].

=ISCROSSFILTERED(Product[ProductName])

Descripción de ISCROSSFILTERED():

  1. Después de crear la medida, la tabla dinámica debe mostrar que [Is ProductName Cross Filtered] es FALSE, porque la expresión no se está filtrando en absoluto. Ahora, debe tener algo parecido a:

    Is ProductName Cross Filtered

    FALSE

    Si no aparece nada en la tabla dinámica, arrastre la columna [Is ProductName Cross Filtered] al cuadro Valores.

  2. Arrastre DateTime[CalendarYear] al cuadro Etiquetas de columna y SalesTerritory[SalesTerritoryGroup] al cuadro Etiquetas de fila; todos los valores deben aparecer como FALSE. Ahora, debe tener algo parecido a:

    Is Product Name CrossFiltered

    Etiquetas de columna

    Etiquetas de fila

    2005

    2006

    2007

    2008

    Grand Total

    Europe

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    N/D

    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

    FALSE

    FALSE

    Todas las celdas tienen el valor FALSE porque ni DateTime[CalendarYear] ni SalesTerritory[SalesTerritoryGroup] afectan a Product[ProductName].

  3. Arrastre la columna ProductCategory[ProductCategoryName] al cuadro Segmentaciones de datos horizontales y ProductSubCategory[ProductSubCategoryName] al cuadro Segmentaciones de datos verticales. Todos los valores deben seguir apareciendo como FALSE, porque cuando agrega una columna al cuadro de segmentaciones de datos aún no ha seleccionado un conjunto de segmentación. Por consiguiente, debería tener algo parecido a esto:

    ProductCategoryName

    Accessories

    Bikes

    Clothing

    Components

    ProductSubcategoryName

    Is Product Name CrossFiltered

    Etiquetas de columna

    Bib-Shorts

    Etiquetas de fila

    2005

    2006

    2007

    2008

    Grand Total

    Bike-Racks

    Europe

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    Bike-Stands

    N/D

    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. Seleccione cualquier artículo en las segmentaciones de datos y todas las celdas de la tabla cambiarán a TRUE, porque ahora se está filtrando la columna Product[ProductName] a través de las tablas relacionadas ProductCategory y ProductSubcategory. Los resultados deben tener un aspecto parecido al siguiente:

    ProductCategoryName

    Accessories

    Bikes

    Clothing

    Components

    ProductSubcategoryName

    Is Product Name CrossFiltered

    Etiquetas de columna

    Bib-Shorts

    Etiquetas de fila

    2005

    2006

    2007

    2008

    Grand Total

    Bike-Racks

    Europe

    TRUE

    TRUE

    TRUE

    TRUE

    TRUE

    TRUE

    Bike-Stands

    N/D

    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. Ahora puede reemplazar las segmentaciones de datos con Product[ProductName] y Product[ModelName]. Si no selecciona ningún artículo en ninguna segmentación de datos, la medida devuelve FALSE; sin embargo, si selecciona un artículo de segmentación de datos, la medida devuelve TRUE porque está filtrando Product[ProductName] mediante sí misma o mediante Product[ModelName].

  6. En conclusión, ISCROSSFILTERED() le permite determinar si columnName se está filtrando en el contexto en que se evalúa la expresión de DAX.

En este ejemplo se usa el modelo de la hoja de cálculo de ejemplo DAX_AdventureWorks.

Vea también

Referencia

Función ISFILTERED (DAX)

Función FILTERS (DAX)

Función HASONEFILTER (DAX)

Función HASONEVALUE (DAX)