Partilhar via


Função ISFILTERED (DAX)

Retorna TRUE quando columnName está sendo filtrado diretamente. Se não houver filtro na coluna ou se a filtragem ocorrer porque uma coluna diferente na mesma tabela ou em uma tabela relacionada estiver sendo filtrada, a função retornará FALSE.

Sintaxe

ISFILTERED(<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 está sendo filtrado diretamente.

Comentários

  • columnName é considerado filtrado diretamente quando os filtros são aplicados na coluna; uma coluna é considerada com filtros cruzados quando um filtro aplicado a outra coluna na mesma tabela ou em uma tabela relacionada afeta a coluna columnName, filtrando-a também.

  • A função Função ISCROSSFILTERED (DAX) relacionada retorna TRUE quando columnName ou outra coluna na mesma tabela ou em uma tabela relacionada está sendo filtrada.

Exemplo

O exemplo a seguir cria uma medida e depois apresenta cenários diferentes para explicar o comportamento de ISFILTERED(). Para acompanhar os cenários, baixe a planilha de dados de exemplo DAX (Data Analysis Expressions).

Primeiro, crie a medida [Is ProductName Filtered directly] a seguir na tabela [Product].

=ISFILTERED(Product[ProductName])

Compreendendo ISFILTERED():

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

    Is ProductName Filtered directly

    FALSE

    Se não aparecer nada na tabela dinâmica, arraste [Is ProductName Filtered directly] até a caixa Valores.

  2. Arraste ProductCategory [ProductCategoryName] até a caixa Rótulos de Linha; todos os valores devem permanecer FALSE e sua tabela deve ter esta aparência:

    Rótulos de Linha

    Is ProductName Filtered directly

    Acessórios

    FALSE

    Bikes

    FALSE

    Roupas

    FALSE

    Componentes

    FALSE

    FALSE

    Total Geral

    FALSE

    A tabela contém valores FALSE porque ProductCategory [ProductCategoryName] filtra indiretamente ou realiza a filtragem cruzada de Product[ProductName], mas não é um filtro direto na coluna.

  3. Arraste Product [Status] até a caixa Rótulos de Coluna; todos os valores devem permanecer FALSE e sua tabela deve ter esta aparência:

    Is ProductName Filtered directly

    Rótulos de Coluna

    Rótulos de Linha

    Current

    Total Geral

    Acessórios

    FALSE

    FALSE

    FALSE

    Bikes

    FALSE

    FALSE

    FALSE

    Roupas

    FALSE

    FALSE

    FALSE

    Componentes

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    Total Geral

    FALSE

    FALSE

    FALSE

    A tabela ainda tem muitos valores FALSE porque Product [Status] não filtra diretamente Product [Name].

  4. A última etapa deste processo é arrastar Product [Name] até a caixa Filtro de Relatório. Neste momento, nada será alterado; porém, quando você selecionar um nome de produto, os valores da tabela deverão ser alterados para TRUE. Dependendo do produto selecionado, sua tabela deve ter esta aparência:

    ProductName

    Mountain-400-W Silver, 38

    Is ProductName Filtered directly

    Rótulos de Coluna

    Rótulos de Linha

    Current

    Total Geral

    Acessórios

    TRUE

    TRUE

    Bikes

    TRUE

    TRUE

    Roupas

    TRUE

    TRUE

    Componentes

    TRUE

    TRUE

    TRUE

    TRUE

    Total Geral

    TRUE

    TRUE

  5. Portanto, ISFILTERED() permitirá determinar se columnName está sendo filtrado diretamente no contexto em que sua expressão está sendo avaliada.

Este exemplo usa o modelo de planilha de exemplo DAX_AdventureWorks

Consulte também

Referência

Função ISCROSSFILTERED (DAX)

Função FILTERS (DAX)

Função HASONEFILTER (DAX)

Função HASONEVALUE (DAX)