Ler em inglês

Compartilhar via


ALLEXCEPT

Aplica-se a:Coluna calculadaTabela calculadaMedidaCálculo visual

Remove todos os filtros de contexto na tabela, exceto filtros aplicados às colunas especificadas.

Sintaxe

DAX
ALLEXCEPT(<table>,<column>[,<column>[,…]])  

Parâmetros

Termo Definição
tabela A tabela sobre a qual todos os filtros de contexto são removidos, exceto filtros nas colunas especificadas em argumentos subsequentes.
coluna A coluna para a qual os filtros de contexto devem ser preservados.

O primeiro argumento para a função ALLEXCEPT deve ser uma referência a uma tabela base. Todos os argumentos subsequentes devem ser referências a colunas base. Você não pode usar expressões de tabela nem expressões de coluna com a função ALLEXCEPT.

Valor retornado

Uma tabela com todos os filtros removidos, exceto pelos filtros nas colunas especificadas.

Comentários

  • Essa função não é usada por si só, mas serve como uma função intermediária que pode ser usada para alterar o conjunto de resultados em que algum outro cálculo é executado.

  • As funções ALL e ALLEXCEPT podem ser usadas em cenários diferentes:

    Função e uso Descrição
    ALL(Table) Remove todos os filtros da tabela especificada. Na verdade, ALL(table) retorna todos os valores na tabela, removendo todos os filtros do contexto que, de outra forma, poderiam ter sido aplicados. Essa função é útil quando você está trabalhando com muitos níveis de agrupamento e deseja criar um cálculo que gere uma taxa de um valor agregado para o valor total.
    ALL (Column[, Column[, …]]) Remove todos os filtros das colunas especificadas na tabela. Todos os outros filtros em outras colunas na tabela ainda se aplicam. Todos os argumentos de coluna devem vir da mesma tabela. A variante ALL(Column) é útil quando você deseja remover os filtros de contexto para uma ou mais colunas específicas e manter todos os outros filtros de contexto.
    ALLEXCEPT(Table, Column1 [,Column2]...) Remove todos os filtros de contexto na tabela, exceto filtros aplicados às colunas especificadas. Esse é um atalho conveniente para situações em que você deseja remover os filtros em muitas colunas, mas não todas, em uma tabela.
  • Não há suporte para a função ser usada no modo DirectQuery quando usada em regras RLS (segurança em nível de linha) ou colunas calculadas.

Exemplo

A fórmula de medição a seguir soma SalesAmount_USD e usa a função ALLEXCEPT para remover qualquer filtro de contexto na tabela DateTime, exceto se o filtro foi aplicado à coluna CalendarYear.

DAX
= CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), ALLEXCEPT(DateTime, DateTime[CalendarYear]))  

Como a fórmula usa ALLEXCEPT, sempre que qualquer coluna, exceto CalendarYear, da tabela DateTime for usada para fatiar a visualização, a fórmula removerá todos os filtros da segmentação, fornecendo um valor igual à soma de SalesAmount_USD. No entanto, se a coluna CalendarYear for usada para fatiar a visualização, os resultados serão diferentes. Como CalendarYear é especificado como o argumento para ALLEXCEPT, quando os dados são fatiados no ano, um filtro é aplicado em anos no nível de linha

Funções de filtro
Função ALL
Função FILTER