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çã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