Partilhar via


Função ALL

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

Sintaxe

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

Parâmetros

Termo

Definição

table

A tabela cujos filtros você deseja limpar.

column

A coluna cujos filtros você deseja limpar.

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

Valor de retorno

A tabela ou a coluna sem filtros.

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.

<Status do tópico:> algumas informações neste tópico são de pré-lançamento e estão sujeitas a mudanças em versões futuras. As informações de pré-lançamento descrevem novos recursos ou alterações em recursos existentes no Microsoft SQL Server 2012 Service Pack 1 (SP1) Community Technology Preview 4 (CTP4). Nos casos em que [Coluna] é marcado como a coluna Data usando Marcar como Tabela de Data

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. O primeiro exemplo demonstra esse cenário.

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.

O segundo e o terceiro exemplos demonstram esse cenário.

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: calcular a taxa de vendas da categoria para o total de vendas

Descrição

Suponhamos que você queira localizar o volume de vendas da célula atual, na Tabela Dinâmica, dividido pelo total de vendas de 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, Toda a Taxa de Vendas do Revendedor, é criada usando-se a fórmula mostrada na seção do código. Para ver como isso funciona, adicione o campo CalendarYear à área Rótulos de Linha da Tabela Dinâmica e o campo ProductCategoryName à área Rótulos de Coluna. Em seguida, arraste a medida, Toda a 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 de porcentagem às células que contenham a medida.

All Reseller Sales

Rótulos de Coluna

 

 

 

 

Rótulos de Linha

Acessórios

Bikes

Roupas

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%

Código

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

Comentários

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 da Tabela Dinâmica, com filtros de contexto aplicados a 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, você usa a função SUMX para somar os valores da coluna ResellerSales_USD[SalesAmount_USD]. Em outras palavras, você obtém a soma de ResellerSales_USD[SalesAmount_USD] para todas as vendas de revendedores.

Para obter mais informações sobre como criar medidas, consulte Criar uma medida em uma Tabela Dinâmica ou em um Gráfico Dinâmico.

ObservaçãoObservação

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

Exemplo: calcular taxa de vendas de produto para totalizar vendas ao longo do ano atual

Descrição

Suponhamos que você queira criar uma tabela que mostre a porcentagem de vendas em comparação com os anos de cada categoria de produto (ProductCategoryName). Para obter a porcentagem referente a cada ano de um valor de ProductCategoryName, você precisa dividir a soma de vendas referente a esse ano e categoria de produto pela soma de vendas da mesma categoria de produto ao longo de todos os anos. Em outras palavras, você deseja manter o filtro em ProductCategoryName, mas remover o filtro do 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-se a fórmula mostrada na seção do código. Para ver como isso funciona, adicione o campo CalendarYear à área Rótulos de Linha da Tabela Dinâmica e 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 de porcentagem às células que contenham a medida, Reseller Sales Year.

Reseller Sales Year

Rótulos de Coluna

 

 

 

 

Rótulos de Linha

Acessórios

Bikes

Roupas

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%

Código

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

Comentários

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 da 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-se a função ALL(Column). Isso calcula a soma das linhas restantes na tabela ResellerSales_USD, depois de aplicar os filtros de contexto existentes dos rótulos de coluna. O efeito prático é que, para o denominador, a soma seja calculada a partir do ProductCategoryName selecionado (o filtro de contexto implícito) e todos os valores em Year.

Para obter mais informações sobre como criar medidas, consulte Criar uma medida em uma Tabela Dinâmica ou em um Gráfico Dinâmico.

ObservaçãoObservação

Esse exemplo usa as tabelas, ResellerSales_USD, DateTime e ProductCategory, da pasta de trabalho de exemplo DAX. Para obter mais informações sobre exemplos, consulte o artigo sobre como obter dados de exemplo.

Exemplo: calcular contribuição de categorias de produto para o total de vendas por ano

Descrição

Suponhamos que você queira criar uma tabela que mostre a porcentagem de vendas de cada categoria de produto, ano a ano. Para obter a porcentagem de cada categoria de produto em um determinado ano, você precisa calcular a soma de vendas dessa categoria de produto específica (ProductCategoryName) em n anos e, em seguida, dividir o valor resultante pela soma de vendas de n anos de todas as categorias de produto. Em outras palavras, você deseja manter o filtro em um ano, mas removê-lo em ProductCategoryName, ao calcular o denominador da porcentagem.

A tabela a seguir mostra os resultados quando uma nova medida, Nome da Categoria de Vendas do Revendedor, é criada usando-se a fórmula mostrada na seção do código. Para ver como isso funciona, adicione o campo CalendarYear à área Rótulos de Linha da Tabela Dinâmica e 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 de porcentagem às células que contenham a nova medida, Nome da Categoria de Vendas do Revendedor.

Reseller Sales CategoryName

Rótulos de Coluna

 

 

 

 

Rótulos de Linha

Acessórios

Bikes

Roupas

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%

Código

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

Comentários

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 da Tabela Dinâmica, com filtros de contexto aplicados aos campos, CalendarYear e ProductCategoryName.

  2. Para o denominador, você usa a função, ALL(Column), para remover o filtro em ProductCategoryName e calcula a soma nas linhas restantes da tabela ResellerSales_USD, depois de aplicar os filtros de contexto existentes dos rótulos de linha. O efeito prático é que, para o denominador, a soma é calculada em relação ao ano selecionado (o filtro de contexto implícito) e para todos os valores de ProductCategoryName.

Para obter mais informações sobre como criar medidas, consulte Criar uma medida em uma Tabela Dinâmica ou em um Gráfico Dinâmico.

ObservaçãoObservação

Esse exemplo usa as tabelas, ResellerSales_USD, DateTime e ProductCategory, da pasta de trabalho de exemplo DAX. Para obter mais informações sobre exemplos, consulte o artigo sobre como obter dados de exemplo.

Consulte também

Referência

Função ALL

Função ALLEXCEPT

Função FILTER

Outros recursos

Funções de filtro (DAX)