Partilhar via


Função ISCROSSFILTERED (DAX)

Retorna TRUE quando columnName ou outra coluna na mesma tabela ou em uma tabela relacionada está sendo filtrada.

Sintaxe

ISCROSSFILTERED(<columnName>)

Parâmetros

  • columnName
    O nome de uma coluna existente que usa a sintaxe DAX padrão. Ele não pode ser uma expressão.

Valor de retorno

TRUE quando columnName ou outra coluna na mesma tabela ou em uma tabela relacionada está sendo filtrada. Caso contrário, retorna FALSE.

Comentários

  • Uma coluna é considerada com filtros cruzados quando um filtro aplicado a outra coluna na mesma tabela ou em uma tabela relacionada afeta columnName filtrando-a. Uma coluna é considerada filtrada diretamente quando o filtro ou os filtros são aplicados na coluna.

  • A função Função ISFILTERED (DAX) relacionada retorna TRUE quando columnName é filtrada diretamente.

Exemplo

O exemplo a seguir cria uma medida e depois apresenta cenários diferentes para explicar o comportamento de ISCROSSFILTERED(). Para acompanhar os cenários, baixe a planilha DAX_AdventureWorks.

Primeiro, crie a medida de tabela [Is ProductName Cross Filtered] a seguir.

=ISCROSSFILTERED(Product[ProductName])

Compreendendo ISCROSSFILTERED():

  1. Depois que você criar a medida, a Tabela Dinâmica deverá mostrar que [Is ProductName Cross Filtered] é FALSE, pois a expressão não está sendo filtrada. Agora, você deve encontrar algo como:

    Is ProductName Cross Filtered

    FALSE

    Se não aparecer nada na Tabela Dinâmica, arraste a coluna [Is ProductName Cross Filtered] até a caixa Values.

  2. Arraste DateTime[CalendarYear] até a caixa Rótulos de Coluna e arraste SalesTerritory[SalesTerritoryGroup] até a caixa Rótulos de Linha; todos os valores devem aparecer como FALSE. Agora, você deve encontrar algo como:

    Is Product Name CrossFiltered

    Rótulos de Coluna

    Rótulos de Linha

    2005

    2006

    2007

    2008

    Grand Total

    Europa

    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

    FALSE

    FALSE

    Você está verificando o valor FALSE em todas as células porque DateTime[CalendarYear] ou SalesTerritory[SalesTerritoryGroup] não tem efeito de filtragem em Product[ProductName].

  3. Arraste o coluna ProductCategory[ProductCategoryName] até a caixa Segmentações de Dados Horizontais e ProductSubCategory[ProductSubCategoryName] até a caixa Segmentações de Dados Verticais. Todos os valores ainda devem aparecer como FALSE, pois quando você adiciona uma coluna à caixa de segmentações de dados, ainda não selecionou um conjunto de segmentação de dados. Portanto, você deve encontrar algo como:

    ProductCategoryName

    Acessórios

    Bikes

    Clothing

    Componentes

    ProductSubcategoryName

    Is Product Name CrossFiltered

    Rótulos de Coluna

    Bib-Shorts

    Rótulos de Linha

    2005

    2006

    2007

    2008

    Grand Total

    Bike-Racks

    Europa

    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. Selecione qualquer item nas segmentações de dados e sua tabela transformará todas as células em TRUE porque você agora está filtrando a coluna Product[ProductName] através das tabelas ProductCategory e ProductSubcategory relacionadas. Seus resultados devem ter esta aparência:

    ProductCategoryName

    Acessórios

    Bikes

    Clothing

    Componentes

    ProductSubcategoryName

    Is Product Name CrossFiltered

    Rótulos de Coluna

    Bib-Shorts

    Rótulos de Linha

    2005

    2006

    2007

    2008

    Grand Total

    Bike-Racks

    Europa

    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. Agora você pode substituir as segmentações de dados por Product[ProductName] e Product[ModelName]. Contanto que você não selecione itens em segmentações de dados, a medida retorna FALSE; porém, quando você seleciona um item na segmentação de dados, agora a medida retorna TRUE porque você está filtrando Product[ProductName] sozinho ou está selecionando um Product[ModelName].

  6. Portanto, ISCROSSFILTERED() permitirá determinar se columnName está sendo filtrado no contexto em que sua expressão DAX está sendo avaliada.

Este exemplo usa o modelo de planilha de exemplo DAX_AdventureWorks.

Consulte também

Referência

Função ISFILTERED (DAX)

Função FILTERS (DAX)

Função HASONEFILTER (DAX)

Função HASONEVALUE (DAX)