TODOS

Aplica-se a:Colunacalculada Tabelacalculada MedidaCálculo visual

Retorna todas as linhas de uma tabela ou todos os valores de uma coluna, ignorando quaisquer filtros que possam ter sido aplicados. Esta função é útil para limpar filtros e criar cálculos em todas as linhas de uma tabela.

Sintaxe

ALL( [<table> | <column>[, <column>[, <column>[,…]]]] )  

Parâmetros

Termo Definição
tabela A tabela na qual você deseja limpar os filtros.
coluna A coluna na qual você deseja limpar os filtros.

O argumento para a função ALL deve ser uma referência a uma tabela base ou uma referência a uma coluna base. Não é possível usar expressões de tabela ou expressões de coluna com a função ALL.

Valor devolvido

A tabela ou coluna com filtros removidos.

Observações

  • Esta 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 sobre o qual algum outro cálculo é realizado.

  • O comportamento normal para expressões DAX que contêm a função ALL() é que todos os filtros aplicados serão ignorados. No entanto, há alguns cenários em que esse não é o caso devido à existência automática, uma tecnologia DAX que otimiza a filtragem para reduzir a quantidade de processamento necessária para determinadas consultas DAX. Um exemplo em que auto-exist e ALL() fornecem resultados inesperados é quando filtra em duas ou mais colunas da mesma tabela (como ao usar segmentações de dados), e há uma medida nessa mesma tabela que usa ALL(). Nesse caso, a existência automática mesclará os vários filtros em um e filtrará apenas as combinações de valores existentes. Devido a essa mesclagem, a medida será calculada nas combinações de valores existentes e o resultado será baseado em valores filtrados em vez de todos os valores conforme o esperado. Para saber mais sobre a existência automática e seu efeito nos cálculos, consulte o artigo Understanding DAX Auto-Exist do Microsoft MVP Alberto Ferrari sobre sql.bi.com.

  • A tabela a seguir descreve como você pode usar as funções ALL e ALLEXCEPT em diferentes cenários.

    Função e utilização Description
    TODOS() Remove todos os filtros em todos os lugares. ALL() só pode ser usado para limpar filtros, mas não para retornar uma tabela.
    ALL(Tabela) Remove todos os filtros da tabela especificada. Com efeito, ALL(Table) retorna todos os valores na tabela, removendo quaisquer filtros do contexto que, de outra forma, poderiam 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 cria uma proporção de um valor agregado para o valor total. O primeiro exemplo demonstra esse cenário.
    TODOS (Coluna[, Coluna[, ...]]) Remove todos os filtros das colunas especificadas na tabela; Todos os outros filtros em 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 para uma ou mais colunas específicas e manter todos os outros filtros de contexto. O segundo e terceiro exemplos demonstram este cenário.
    ALLEXCEPT(Tabela, Coluna1 [,Coluna2]...) Remove todos os filtros de contexto na tabela, exceto os filtros aplicados às colunas especificadas. Este é um atalho conveniente para situações em que você deseja remover os filtros em muitas, mas não todas, colunas em uma tabela.
  • Esta função não é suportada para utilização no modo DirectQuery quando utilizada em colunas calculadas ou regras de segurança ao nível da linha (RLS).

Exemplo 1

Calcular a relação entre Vendas por Categoria e Vendas Totais

Suponha que você deseja encontrar a quantidade de vendas para a célula atual, em sua Tabela Dinâmica, dividida pelo total de vendas para todos os revendedores. Para garantir que o denominador seja o mesmo, independentemente de como o usuário da Tabela Dinâmica possa estar filtrando ou agrupando os dados, defina uma fórmula que use ALL para criar o total geral correto.

A tabela a seguir mostra os resultados quando uma nova medida, All Reseller Sales Ratio, é criada usando a fórmula mostrada na seção de código. Para ver como isso funciona, adicione o campo, CalendarYear, à área Rótulos de Linha da Tabela Dinâmica e adicione o campo, ProductCategoryName, à área Rótulos de Coluna . Em seguida, arraste a medida, All Reseller Sales Ratio, para a área Values da Tabela Dinâmica. Para exibir os resultados como porcentagens, use os recursos de formatação do Excel para aplicar uma formatação de número percentual às células que contêm a medida.

Rótulos de linha Accessories Bikes Vestuário Componentes Total Geral
2005 0,02% 9.10% 0,04% 0.75% 9.91%
2006 0.11% 24.71% 0.60% 4.48% 29.90%
2007 0.36% 31.71% 1.07% 6.79% 39.93%
2008 0.20% 16.95% 0.48% 2.63% 20.26%
Total Geral 0.70% 82.47% 2.18% 14.65% 100,00%

Fórmula

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])  

A fórmula é construída da seguinte forma:

  1. O numerador, SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]), é a soma dos valores em ResellerSales_USD[SalesAmount_USD] para a célula atual na Tabela Dinâmica, com filtros de contexto aplicados em CalendarYear e ProductCategoryName.

  2. Para o denominador, você começa especificando uma tabela, ResellerSales_USD e usa a função ALL para remover todos os filtros de contexto na tabela.

  3. Em seguida, use a função SUMX para somar os valores na coluna ResellerSales_USD[SalesAmount_USD]. Em outras palavras, você recebe a soma de ResellerSales_USD[SalesAmount_USD] para todas as vendas de revendedores.

Exemplo 2

Calcular a relação entre as vendas de produtos e o total de vendas ao longo do ano atual

Suponha que você deseja criar uma tabela mostrando a porcentagem de vendas comparadas ao longo dos anos para cada categoria de produto (ProductCategoryName). Para obter a porcentagem para cada ano sobre cada valor de ProductCategoryName, você precisa dividir a soma das vendas para esse ano específico e categoria de produto pela soma das vendas para a mesma categoria de produto em todos os anos. Em outras palavras, você deseja manter o filtro em ProductCategoryName, mas remover o filtro no ano ao calcular o denominador da porcentagem.

A tabela a seguir mostra os resultados quando uma nova medida, Ano de vendas do revendedor, é criada usando a fórmula mostrada na seção de código. Para ver como isso funciona, adicione o campo, CalendarYear, à área Rótulos de Linha de uma Tabela Dinâmica e adicione o campo, ProductCategoryName, à área Rótulos de Coluna . Para exibir os resultados como porcentagens, use os recursos de formatação do Excel para aplicar um formato de número percentual às células que contêm a medida, Ano de vendas do revendedor.

Rótulos de linha Accessories Bikes Vestuário Componentes Total Geral
2005 3.48% 11.03% 1.91% 5.12% 9.91%
2006 16.21% 29.96% 27.29% 30.59% 29.90%
2007 51.62% 38.45% 48.86% 46.36% 39.93%
2008 28.69% 20.56% 21.95% 17.92% 20.26%
Total Geral 100,00% 100,00% 100,00% 100,00% 100,00%

Fórmula

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(DateTime[CalendarYear]))  

A fórmula é construída da seguinte forma:

  1. O numerador, SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]), é a soma dos valores em ResellerSales_USD[SalesAmount_USD] para a célula atual na tabela dinâmica, com filtros de contexto aplicados nas colunas CalendarYear e ProductCategoryName.

  2. Para o denominador, remova o filtro existente em CalendarYear usando a função ALL(Column). Isso calcula a soma sobre as linhas restantes na tabela ResellerSales_USD, depois de aplicar os filtros de contexto existentes dos rótulos de coluna. O efeito líquido é que, para o denominador, a soma é calculada sobre o ProductCategoryName selecionado (o filtro de contexto implícito) e para todos os valores em Year.

Exemplo 3

Calcular a contribuição das categorias de produtos para o total de vendas por ano

Suponha que você deseja criar uma tabela que mostra a porcentagem de vendas para cada categoria de produto, em uma base anual. Para obter a porcentagem para cada categoria de produto em um determinado ano, você precisa calcular a soma das vendas para essa categoria de produto específica (ProductCategoryName) no ano n e, em seguida, dividir o valor resultante pela soma das vendas para o ano n em todas as categorias de produtos. Em outras palavras, você deseja manter o filtro no ano, mas remover o filtro em ProductCategoryName ao calcular o denominador da porcentagem.

A tabela a seguir mostra os resultados quando uma nova medida, Reseller Sales CategoryName, é criada usando a fórmula mostrada na seção de código. Para ver como isso funciona, adicione o campo CalendarYear à área Rótulos de Linha da Tabela Dinâmica e adicione o campo, ProductCategoryName, à área Rótulos de Coluna . Em seguida, adicione a nova medida à área Valores da Tabela Dinâmica. Para exibir os resultados como porcentagens, use os recursos de formatação do Excel para aplicar um formato de número percentual às células que contêm a nova medida, Reseller Sales CategoryName.

Rótulos de linha Accessories Bikes Vestuário Componentes Total Geral
2005 0.25% 91.76% 0.42% 7.57% 100,00%
2006 0.38% 82.64% 1.99% 14.99% 100,00%
2007 0.90% 79.42% 2.67% 17.01% 100,00%
2008 0,99% 83.69% 2.37% 12.96% 100,00%
Total Geral 0.70% 82.47% 2.18% 14.65% 100,00%

Fórmula

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(ProductCategory[ProductCategoryName]))  

A fórmula é construída da seguinte forma:

  1. O numerador, SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]), é a soma dos valores em ResellerSales_USD[SalesAmount_USD] para a célula atual na Tabela Dinâmica, com filtros de contexto aplicados nos campos, CalendarYear e ProductCategoryName.

  2. Para o denominador, use a função ALL(Column) para remover o filtro em ProductCategoryName e calcular a soma sobre as linhas restantes na tabela ResellerSales_USD, depois de aplicar os filtros de contexto existentes dos rótulos de linha. O efeito líquido é que, para o denominador, a soma é calculada sobre o Ano selecionado (o filtro de contexto implícito) e para todos os valores de ProductCategoryName.

Funções de filtro
Função ALL
Função ALLEXCEPT
Função FILTRO