Ler em inglês

Compartilhar via


TODO

aplica-se a:coluna calculadatabela calculadamedidacálculo visual

Retorna todas as linhas em uma tabela ou todos os valores em uma coluna, ignorando todos os filtros que podem ter sido aplicados. Essa 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

Prazo Definição
table A tabela na qual você deseja limpar filtros.
column A coluna na qual você deseja limpar 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. Você não pode usar expressões de tabela ou expressões de coluna com a função ALL.

Valor de retorno

A tabela ou coluna com filtros removidos.

Observações

  • 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 nos quais algum outro cálculo é executado.

  • 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 a auto-exist, uma tecnologia DAX que otimiza a filtragem para reduzir a quantidade de processamento necessária para determinadas consultas DAX. Um exemplo em que existem automaticamente e ALL() fornecem resultados inesperados é ao filtrar 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 mesclagem vários filtros em um e filtrará apenas as combinações de valores existentes. Devido a essa mesclagem, a medida será calculada sobre as combinações existentes de valores 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 artigo sobre .

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

    Função e uso Descrição
    ALL() Remove todos os filtros em todos os lugares. ALL() só pode ser usado para limpar filtros, mas não para retornar uma tabela.
    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 cria uma taxa de um valor agregado para o valor total. O primeiro exemplo demonstra esse cenário.
    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 de uma ou mais colunas específicas e manter todos os outros filtros de contexto. O segundo e o terceiro exemplos demonstram esse cenário.
    ALLEXCEPT(Table, Column1 [,Column2]...) Remove todos os filtros de contexto na tabela, exceto os 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.
  • Essa função não tem suporte para uso no modo DirectQuery quando usada em colunas calculadas ou regras de RLS (segurança em nível de linha).

Exemplo 1

Calcular a taxa de vendas de categoria para o total de vendas

Suponha que você queira 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 usa 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, Todos osde Taxa de Vendas do Revendedor, para a área Valores 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 Acessórios Bicicletas Roupa 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%

formula

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

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

  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, comece especificando uma tabela, ResellerSales_USD e use 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ê obtém a soma de ResellerSales_USD[SalesAmount_USD] para todas as vendas de revendedores.

Exemplo 2

Calcular a taxa de vendas de produtos para o total de vendas ao longo do ano atual

Suponha que você queira criar uma tabela mostrando o percentual de vendas comparado ao longo dos anos para cada categoria de produto (ProductCategoryName). Para obter o percentual de 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 ao longo de 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 Acessórios Bicicletas Roupa 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%

formula

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

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

  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, você remove 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 Ano.

Exemplo 3

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

Suponha que você queira criar uma tabela que mostre o percentual de vendas para cada categoria de produto, ano a ano. Para obter o percentual 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 dividir o valor resultante pela soma das vendas do 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, CategoryName 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 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, CategoryName de Vendas do Revendedor.

Rótulos de linha Acessórios Bicicletas Roupa 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%

formula

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

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

  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 de
função ALL
de função ALLEXCEPT
de função FILTER