Quando iniciamos a criar relatórios com o Power BI, é natural que deparemos com inúmeras maneiras de realizar cálculos. Logo, a forma mais intuitiva para quem é iniciante na ferramenta é usar os cálculos pré-definidos no Power BI.

Por exemplo, para calcular a porcentagem total de vendas de óleo diesel de todos os estados brasileiros, temos as colunas de Estado (texto) e de Vendas (número).

Podemos usar uma das funções do Power BI para obter a porcentagem total de vendas por estado (a porcentagem total também pode ser chamada de Grand Total ou GT).

Usando os cálculos pré-definidos. Na área de Valores, temos a soma de Vendas e a porcentagem em relação total.

Acima visualizamos na matriz as vendas e a porcentagem de cada estado em relação ao total. 

Os cálculos pré-definidos são práticos e úteis para cenários mais abrangentes. Mas vamos adicionar um filtro de estado e selecionar um deles. 

Ao filtrar por Minas Gerais, o valor de vendas se manteve, porém, a coluna de porcentagem, %GT Vendas, ficou em 100%. Se adicionarmos outro estado…

Os valores também mudam. Ou seja, neste caso, a coluna %GT Vendas realiza o cálculo proporcional de vendas com base nos filtros selecionados.

E se, em vez responder aos filtros, quisermos a porcentagem em relação a todos os estados, mesmo se quisermos exibir apenas alguns estados?

Neste caso, podemos usar o poder das funções da linguagem DAX. Uma das vantagens de se usar fórmulas DAX, em detrimento das fórmulas pré-definidas, é proporcionar flexibilidade às análises, aumentando o número de possibilidades e adaptação de cálculos em cenários mais específicos.

Primeiro, vamos criar uma medida que soma o valor de Vendas. Neste caso, a coluna se chama “Vendas” e ela está na tabela “Vendas Município”. Para não confundir, vamos chamar a medida de “Soma Vendas”:

Soma Vendas = SUM('Vendas Município'[Vendas])

O próximo passo é criar uma medida de vendas de todos os estados. Para obtermos o resultado esperado, devemos usar duas funções novas: CALCULATE e ALL.

Vendas Todos os Estados = CALCULATE([Soma Vendas]; ALL('Vendas Município'[ESTADO]))

A medida se chama “Vendas Todos os Estados”. Se adicionarmos as medidas que criamos, veremos como elas se comportam.

A medida Soma Vendas faz o mesmo cálculo da coluna Vendas.

Já a medida Vendas Todos os Estados exibe o resultado total de todos os estados, independente de qual estado esteja selecionado.

Agora temos as medidas para calcular a porcentagem em relação a todos os estados.

% Vendas Estados = DIVIDE([Soma Vendas]; [Vendas Todos os Estados])

Lembre-se de formatar a medida em porcentagem.

Filtrando novamente Minas Gerais e Piauí:

Perceba que os valores de % Vendas Estados são os mesmos em relação ao %GT Vendas, quando não há filtros selecionados. Mas os valores de % Vendas Estados se mantêm ao filtrar os Estados, exibindo a porcentagem das vendas em relação a todos os estados.

Agora, entrando em detalhes na medida % Vendas Estados:

CALCULATE([Soma Vendas]; ALL('Vendas Município'[ESTADO]))
  • Soma Vendas: é a medida que criamos anteriormente, que serve de base para o cálculo;
  • ALL: considera todos os Estados;
  • CALCULATE: estamos dizendo, nesta fórmula, para realizar o cálculo da medida Soma Vendas para TODOS os Estados.

Depois, dividimos as vendas por todas as vendas dos estados.

DIVIDE([Soma Vendas]; [Vendas Todos os Estados])

No final, usamos três medidas:

  1. Soma Vendas
  2. Vendas Todos os Estados
  3. % Vendas Estados

Vale reiterar que, no Power BI, há muitas formas de resolver o mesmo problema. E a forma apresentada aqui tem a vantagem de separar a lógica em três partes, tornando a legibilidade do código mais simples e abrindo a possibilidade de reutilizar as medidas em outros cenários.

Pergunta bônus: qual seria a fórmula DAX equivalente ao %GT Vendas?

Usamos a função ALLSELECTED em vez de ALL

= CALCULATE([Soma Vendas]; ALLSELECTED('Vendas Município'[ESTADO]))

Agora você pode desenrolar a função de cálculo de percentual sobre o valor total no Power BI. E aí? Gostou da nossa dica de DAX? Quer ficar por dentro de nossos artigos, dicas e conteúdos? Assine nossa Newsletter Mensal. Nos vemos na próxima! Até lá.