Função ALLEXCEPT (DAX)

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

Sintaxe

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

Parâmetros

Termo

Definição

table

A tabela na qual todos os filtros de contexto são removidos, exceto os filtros nessas colunas especificadas em argumentos subsequentes.

column

A coluna para a qual os filtros de contexto devem ser preservados.

O primeiro argumento da função ALLEXCEPT deve ser uma referência para uma tabela base; todos os argumentos subsequentes devem ser referências para colunas base. Não é possível usar expressões de tabela ou de coluna com a função ALLEXCEPT.

Valor de retorno

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

Comentários

Essa função não é usada sozinha, 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.

Como descrito na tabela a seguir, é possível usar as funções ALL e ALLEXCEPT 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 da tabela, removendo todos os filtros do contexto que possam ter sido aplicados.

Essa função é útil quando você está trabalhando com vários níveis de agrupamento e deseja criar um cálculo que crie uma razão de um valor agregado para o valor total.

ALL (Column[, Column[, …]])

Remove todos os filtros das colunas especificadas na tabela; todos os outros filtros de outras colunas da 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 de 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.

Trata-se de um atalho prático para situações nas quais você deseja remover os filtros em muitas, mas não em todas, colunas de uma tabela.

Exemplo

O exemplo a seguir apresenta uma fórmula é possível usar em uma medida. Para obter mais informações sobre como criar uma medida, consulte Criar uma medida em uma tabela dinâmica ou em um gráfico dinâmico.

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

ObservaçãoObservação

O exemplo anterior usa as tabelas, ResellerSales_USD e DateTime da pasta de trabalho de exemplo DAX. Para obter mais informações sobre exemplos, consulte Obter dados de exemplo para o PowerPivot .

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

Como a fórmula usa ALLEXCEPT, sempre que uma coluna, exceto CalendarYear da tabela DateTime, for usada para fatiar a Tabela Dinâmica, a fórmula removerá todos os filtros da segmentação de dados, fornecendo um valor igual à soma de SalesAmount_USD para o valor de rótulo da coluna, conforme mostrado na Tabela 1.

No entanto, se a coluna CalendarYear for usada para fatiar a Tabela Dinâmica, os resultados serão diferentes. Como CalendarYear é especificada como o argumento de ALLEXCEPT, quando os dados forem fatiados no ano, um filtro será aplicado em anos ao nível de linha, conforme mostrado na Tabela 2. O usuário é incentivado a comparar essas tabelas para compreender o comportamento de ALLEXCEPT ().

Consulte também

Referência

Outros recursos