fbpx

função all

#ABCdoDAX

Função ALL

A função ALL tem duas aplicações: como função de tabelas ou como função acessória da função CALCULATE

Neste texto a explicaremos enquanto função acessória da CALCULATE.

 No texto que explicamos a CALCULATE mostramos que podemos criar medidas que ignoram os contextos aplicados.

A função ALL é uma função que fez isso. Imagine a situação onde queiramos calcular o % da receita em determinado contexto (produto, estado, data, qualquer coisa) em relação à receita total.

Nos meus cursos de PowerBI costumo dizer que quem é usuário de Excel precisa “virar a chave” quando vai pensar em PowerBI. 

Se fôssemos calcular isso no Excel nossa fórmula seria mais ou menos como essa abaixo:

No Excel nós pegamos o total que está NA MESMA COLUNA dos demais valores, tanto que nossa fórmula divide o valor daquela linha (que seria nosso contexto no PowerBI) e divide pelo total.

Mas no PowerBI não dá para pegar o “total da coluna”. Não tem isso.

Imagine que precisamos ter 2 colunas de valor no PowerBI (não é exatamente coluna, é apenas uma representação mental):

  • Uma coluna da Receita (que é nossa medida, cujo valor muda em função do contexto aplicado) e
  • Uma coluna com a Receita TOTAL que não muda em função do contexto.

Imagine algo assim:

Óbvio que não faz sentido APARECER uma coluna assim. Mas ela precisa “existir”.

Como estamos no PowerBI isso será na verdade uma MEDIDA.

Precisamos calcular uma medida baseada na RECEITA que não mude com base no contexto.

É aí onde entra a função ALL, pois é ela que irá “travar” esses valores.

E ela será usada dentro de uma função CALCULATE, como a seguir. Para inserir a medida vamos em PÁGINA INICIAL > NOVA MEDIDA:

 

O 1º argumento é a mediada base, que será a medida RECEITA. O 2º argumento é o critério. Queremos que a medida da RECEITA traga TODOS os valores de vendas que temos, sem levar em consideração nenhum tipo de contexto.

A ALL serve para isso. Quando dizemos ALL (Vendas) estamos falando que é para trazer SEMPRE, TODOS os dados da tabela de vendas, sem respeitar nenhum eventual filtro.

Se pusermos essa medida em qualquer visual nós veremos isso:

 

Note que o número é o mesmo porque a função ALL está avisando para função CALCULATE que não é para considerar nenhum filtro.

Agora para calcularmos o % da receita total basta usarmos a função DIVIDE, como abaixo:

 

E se colocarmos essas informações em um visual teremos isso:

Dá para fazer diversas coisas com a função ALL, poderíamos por exemplo ao invés de considerar todos os dados da tabela vendas somente os dados de FAMÍLIA por exemplo.

Daí ela fixaria o valor sem mudar o contexto de família mas mudaria para os demais ítens. Veja como ficaria:

Veja que nosso ALL agora está pegando somente o NOME DA FAMÍLIA.

Colocando essa medida na nossa matriz teríamos isso:

O valor para as famílias não muda, mas muda para o ANO, porque nossa função ALL “travou” somente as famílias

Licença Creative Commons

OUTROS ARTIGOS DE INTERESSE

Fabio Vianna
Siga-Me
Nossas Redes Sociais
Facebook
Linkedin
Instagram
Youtube