5 Exercícios de Fórmulas do Power BI para Praticar

Aprenda a resolver 5 exercícios de fórmulas do Power BI para que você consiga praticar e avaliar seu nível de aprendizado com as fórmulas DAX.

Praticar fórmulas DAX é a melhor forma de fixar o Power BI. Estes 5 exercícios cobrem funções essenciais como SUM, CALCULATE, FILTER e funções de inteligência de tempo, com soluções comentadas para você comparar o seu raciocínio e avaliar o seu nível.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

O que você aprende neste vídeo

Resposta rápida: A aula resolve em DAX cinco exercícios sobre uma base de vendas: faturamento e lucro bruto com SUMX, média diária de unidades com DISTINCTCOUNT das datas, crescimento sobre o ano anterior com CALCULATE e DATEADD, filtrando só as datas até a última venda, e clientes novos por ano pelo ano da primeira compra, com VAR e FILTER.

Neste vídeo (51 min):

  • 4:32 - Exercício 1: a medida de faturamento usa SUMX sobre a tabela de vendas, com preço unitário vezes quantidade vendida; na base do exemplo, o cartão mostra 64 milhões, formatados como dólar porque as vendas são internacionais.
  • 8:23 - Exercício 2: o lucro bruto também sai de SUMX, com preço unitário vezes quantidade menos custo unitário vezes quantidade, ou seja, só o custo do produto, sem gastos administrativos, folha salarial e impostos; na base do exemplo, 37 milhões.
  • 10:39 - A margem bruta, em outra medida, divide o lucro bruto pelo faturamento: 0,58, que formatado como percentual vira 58% na base do exemplo.
  • 15:14 - Exercício 3: supondo que todo dia de loja aberta teve venda, os dias de operação saem de DISTINCTCOUNT na data da venda (822 na base do exemplo), e a média diária divide o total de unidades vendidas por eles: 492 por dia.
  • 22:54 - Exercício 4: o faturamento do ano anterior usa CALCULATE com DATEADD sobre a coluna de datas da tabela calendário, voltando 12 meses (voltar 1 ano daria no mesmo); na matriz, cada mês ganha ao lado o faturamento do mesmo mês do ano anterior.
  • 26:30 - O crescimento percentual usa DIVIDE, que ajuda a tratar erro, com o faturamento atual menos o do ano anterior no numerador e o do ano anterior no denominador; na base do exemplo, 2023 fica 7% abaixo de 2022.
  • 27:29 - Em 2024, a matriz mostra queda de 74%, o que não é verdade: o ano inteiro de 2023 está sendo comparado com os dados de 2024, que só vão até 1º de abril.
  • 32:19 - Na tabela calendário, uma coluna nova marca sim para as datas até a última venda (1º de abril de 2024) e não para as seguintes; com vendas novas, basta atualizar os dados para ela acompanhar.
  • 34:13 - Com essa coluna no filtro da matriz, só com as datas válidas, 2024 passa a ser comparado com o mesmo período de 2023 e, na base do exemplo, a queda fica em 0,06%.
  • 44:26 - Exercício 5: para achar a primeira compra de cada cliente, uma coluna calculada guarda o código do cliente da linha numa variável e tenta CALCULATE com MIN da data da venda e um filtro simples pelo cliente, e o Power BI acusa dependência circular.
  • 46:06 - Com FILTER sobre a tabela de vendas no lugar do filtro simples, dentro do CALCULATE, a coluna devolve a data da primeira compra de cada cliente, e YEAR em volta deixa só o ano.
  • 48:42 - Com esse ano inicial nas linhas e a contagem distinta de clientes nos valores, a matriz mostra os clientes novos de cada ano: na base do exemplo, 41 mil em 2023, entre os 67 mil atendidos naquele ano, e 9 mil em 2024.

Trechos do vídeo:

  • SUM serve quando a coluna com os valores já existe; quando ela não existe, como o faturamento de cada venda, SUMX calcula a expressão em cada linha da tabela e soma tudo no final, sem precisar criar a coluna antes.
  • A coluna de datas usada no DATEADD precisa ter todas as datas do período, inclusive os dias sem venda: por isso ela vem de uma tabela calendário completa.
  • Comparar um ano ainda incompleto com o ano anterior inteiro distorce o crescimento: a comparação justa é com o mesmo período do ano anterior, até a data da última venda.
  • Toda fórmula DAX que declara uma variável com VAR precisa de um RETURN, que é onde começa o cálculo que a fórmula devolve.
  • Para ter um valor em cada linha da tabela, como marcar se cada data é válida ou não, o caminho é uma coluna nova, e não uma medida.

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

5 Exercícios de Fórmulas do Power BI para Praticar

Na aula de hoje, vamos resolver cinco exercícios de fórmulas do Power BI para que você possa praticar e medir seu conhecimento em relação às fórmulas DAX.

A ideia é que você tente solucionar os exercícios antes de ver como foram resolvidos, dessa forma, você pode comparar sua solução com a minha. Mas, caso prefira, também pode acompanhar o passo a passo junto comigo!

Eu separei cinco exercícios de fórmulas DAX no Power BI, que são extremamente importantes, para que você saiba como resolver um problema no Power BI a partir de um desafio proposto.

Você precisará saber qual fórmula usar, qual abordagem tomar e como utilizá-la para resolver o problema. É por isso que esses exercícios práticos serão tão importantes para te auxiliar nos seus estudos e desenvolvimento com o Power BI.

E aí, bora praticar as fórmulas DAX e ver como está o seu nível no Power BI? Então, faça o download do material disponível e vem comigo!

Apresentando a Base de Dados

No material disponível para download, você encontrará a base de dados que utilizaremos para solucionar os exercícios propostos, assim como o arquivo com os desafios.

Apresentando a Base de Dados

Essa base de dados apresenta o histórico de vendas de uma empresa, com informações sobre as datas das vendas, os produtos vendidos, a quantidade, o preço de custo e de venda e o local da venda.

Exercício #1

Crie uma medida que calcule o faturamento total da empresa. Apresente no Relatório o Faturamento de acordo com cada Marca.

Para resolver esse desafio, primeiro precisamos criar uma medida para calcular o faturamento total da empresa, que é a soma do faturamento individual de cada venda.

No entanto, não temos uma coluna com o faturamento por venda, que seria a multiplicação do preço unitário pela quantidade vendida. Então, primeiro precisamos obter esse valor para depois calcular o faturamento total.

Uma forma de fazer isso seria criar uma coluna nova com o faturamento por venda e depois aplicar a função SUM nela.

Esse método funcionaria, porém, não é o mais eficiente. Por isso, utilizaremos a função SUMX, em que podemos realizar esse cálculo sem a necessidade de criar uma nova coluna.

A SUMX é uma das funções iteradoras DAX no Power BI, que permitem realizar cálculos linha por linha e aplicar agregações (soma, máximo, mínimo, média, etc.).

Dessa forma, podemos utilizar a fórmula SUMX no Power BI para realizar uma soma sem precisar de uma coluna específica na tabela, executando tudo através da medida.

A fórmula funciona da seguinte forma: você fornece a tabela na qual o cálculo será realizado e, em seguida, especifica a expressão a ser calculada para cada linha da tabela.

Ícone Power BIPower BI Impressionador

Como dominar a ferramenta que mais cresce e forma profissionais disputados no Mercado de Trabalho, com a criação de Relatórios e Dashboards que impressionam e ajudam na tomada de decisão.

Começar agoraSeta para a direita
Fundo Power BITelas Power BI
SUMX

Então, vamos criar a medida Faturamento e aplicar a fórmula.

Codigo
Faturamento = SUMX(
    Vendas,
    Vendas[PrecoUnitario]*Vendas[Qtd. Vendida]
)

Basicamente, o que essa fórmula está fazendo é, para cada linha, calcular o faturamento individual das vendas e armazenar esse valor, que é somado com o resultado da próxima linha até obter o faturamento total.

Com a medida feita, podemos formatá-la como moeda, deixando o número de casas decimais em dois, e criar um cartão na guia de relatório para visualizar o valor.

Faturamento

Com isso, temos o valor total do faturamento da empresa. Porém, a segunda parte do exercício pede para apresentarmos o faturamento de acordo com cada marca.

Para fazer isso, vamos adicionar uma matriz, passando a coluna Marca para o campo das Linhas e a medida Faturamento para o campo de Valores.

Faturamento por marca
Faturamento por marca

Dessa forma, temos tanto o faturamento total quanto o faturamento por cada marca.

Exercício #2

Calcule o Lucro Bruto da empresa (Receita - Custo do Produto). Depois apresente o Lucro Bruto por Categoria, e calcule também a Margem de Lucro Bruto da empresa (em percentual).

O primeiro passo para a solução desse desafio é calcular o lucro bruto da empresa. O lucro bruto de cada venda é obtido subtraindo o custo unitário do preço unitário e multiplicando pela quantidade vendida.

Como queremos o lucro bruto total da empresa, utilizaremos novamente a função SUMX para obter esse resultado, já que não temos uma coluna com o lucro bruto individual.

Codigo
Lucro Bruto = SUMX(
    Vendas,
    (Vendas[PrecoUnitario]-Vendas[Custo Unitário])*Vendas[Qtd. Vendida]
)

Novamente, podemos formatar a medida como moeda com duas casas decimais e criar um cartão para exibir o resultado.

Lucro Bruto

Agora que já temos o lucro bruto da empresa, podemos criar uma matriz para determinar o lucro bruto por categoria, definindo a coluna Categoria como Linhas e o Lucro Bruto como Valores.

Lucro por Categoria

Para finalizar, precisamos calcular a margem de lucro bruto da empresa. A margem de lucro bruto é calculada como a porcentagem do lucro bruto em relação ao faturamento total da empresa.

Então, para calculá-la, basta criar uma nova medida dividindo o Lucro Bruto pelo Faturamento.

Codigo
Margem Bruta = [Lucro Bruto]/[Faturamento]

Por fim, formatamos essa medida como porcentagem e adicionamos o resultado a um cartão na guia relatório.

Margem Bruta

Exercício #3

Calcule a média de vendas feitas por dia na empresa.

Para calcular a média das vendas feitas por dia na empresa, precisamos pegar o número total de vendas feitas e dividir pelo total de dias.

Para calcular o total de vendas, basta somarmos a coluna Qtd. Vendida. Então, vamos criar essa medida e aplicar a função SUM.

Codigo
Total Vendido = SUM(Vendas[Qtd. Vendida])

Para visualizar o resultado, podemos criar um cartão na guia de relatórios e adicionar essa medida, visualizando assim o valor de 405 mil unidades vendidas.

Total Vendido

Agora, precisamos calcular a quantidade de dias que a empresa operou. Na nossa tabela, temos a coluna Data da Venda, porém essa coluna possui valores repetidos, pois podemos ter mais de uma venda em um dia.

Para calcular apenas a quantidade de dias únicos que a empresa trabalhou, vamos utilizar a função DISTINCTCOUNT.

Essa função recebe como argumento o nome da coluna desejada e retorna a quantidade de valores distintos presentes nela. Vamos criar uma medida para utilizá-la.

Codigo
Qtd Dias = DISTINCTCOUNT(Vendas[Data da Venda])

Também podemos exibir esse resultado em um cartão.

Qtd Dias

Com os dois valores em mãos, podemos criar uma medida para calcular a média de vendas feitas por dia e adicionar a um cartão também.

Codigo
Média Diária de Vendas = [Total Vendido]/[Qtd Dias]

média de vendas

Exercício #4

Calcule o crescimento % de faturamento de cada ano com relação ao ano anterior.

Esse é um exercício de comparativo entre anos. Para calcular o percentual de faturamento de cada ano em relação ao ano anterior, precisamos primeiro ter o faturamento para cada ano.

Como já temos a medida do Faturamento, podemos criar uma matriz passando o Faturamento para o campo Valores e as Datas da tabela calendário para o campo Linhas, ajustando para exibir apenas os Anos e os Meses.

medida do Faturamento

Dessa forma, já conseguimos visualizar os valores do faturamento para cada ano e o faturamento total.

Tendo esses valores, precisamos calcular o crescimento de um ano para o outro. O cálculo é feito da seguinte forma: (Valor do ano atual – Valor do ano anterior)/ Valor do ano anterior.

Logo, precisamos criar uma medida para calcular o faturamento do ano anterior ao ano analisado, para aplicar esse valor ao nosso cálculo. Para fazer isso, utilizaremos as fórmulas CALCULATE e DATEADD.

A função CALCULATE nos permite fazer um cálculo com base em uma condição. Por sua vez, a função DATEADD nos permite criar essa condição, “deslocando” o período analisado para o ano anterior.

Logo, quando estivermos analisando o faturamento do ano de 2023, também teremos acesso ao faturamento do ano de 2022.

Vamos criar uma nova medida chamada Fat Ano Anterior.

Codigo
Fat Ano Anterior = CALCULATE([Faturamento],
DATEADD(Calendario[Datas],-12, MONTH)
)

Dentro dessa medida, utilizamos a fórmula CALCULATE para calcular o [Faturamento], a expressão que queremos calcular, com base no filtro desse cálculo, definido pela fórmula DATEADD.

Na fórmula DATEADD, passamos três informações: a coluna que contém todas as datas do período que queremos analisar (Calendario[Datas]), o número de intervalos que queremos deslocar (-12 porque queremos deslocar um ano para trás) e qual é esse intervalo (MONTH porque queremos deslocar 12 meses).

Com essa medida criada, podemos adicioná-la aos valores da nossa matriz.

Faturamento Ano Anterior

Agora podemos calcular o percentual de crescimento seguindo o cálculo mencionado anteriormente. Para isso, crie uma nova medida chamada % Crescimento Fat.

Para realizar o cálculo sem erros, evitando a divisão por zero, já que não existe ano anterior a 2022, utilizaremos a fórmula DIVIDE.

Codigo
% Crescimento Fat = DIVIDE(
    [Faturamento]-[Fat Ano Anterior],
    [Fat Ano Anterior]
)

Com isso, podemos formatar essa medida para percentual e adicioná-la aos valores da matriz.

% Crescimento Faturamento

A princípio, parece que conseguimos solucionar o exercício, porém, tem um detalhe importante que precisa ser levado em consideração.

Ao avaliar o ano de 2024, há um indicativo de uma queda de 74,69% em relação ao ano anterior. No entanto, essa informação não é precisa, porque ele está comparando o ano inteiro de 2023 com apenas 4 meses de 2024.

meses de 2024

Para realizar uma análise mais precisa entre os anos 2023 e 2024 no Power BI, é crucial considerar o período vigente. Isso significa verificar se as datas em análise estão dentro do intervalo em que temos registros de vendas.

Ou seja, as datas posteriores à última data de venda registrada não serão consideradas.

A solução para isso é criar a coluna Data Válida? dentro da nossa tabela de calendário. Essa coluna receberá a seguinte fórmula:

Codigo
Data Válida? = IF(
    Calendario[Datas]<=MAX(Vendas[Data da Venda]),
    "Sim",
    "Não"
)

Aqui, utilizamos a função IF para verificar se as datas da coluna Data na tabela Calendário são menores ou iguais à data máxima na coluna Data da Venda da tabela Vendas (ou seja, a data mais recente com venda).

Se a condição for verdadeira, a coluna Data Válida? será preenchida com Sim; caso contrário, será preenchida com Não.

Data Válida?

No caso, a data máxima é 01/04/2024, porém essa fórmula atualizará automaticamente a tabela caso novas vendas sejam adicionadas na tabela Vendas.

Feito isso, para finalizar, vamos adicionar a coluna Data Válida? aos Filtros da matriz, selecionando apenas a opção Sim. Isso nos permitirá visualizar e considerar apenas as datas válidas.

adicionar a coluna Data Válida? aos Filtros da matriz

Agora sim conseguimos ter os valores comparados corretamente.

Exercício #5

Calcule a quantidade de novos clientes por ano.

Para calcular a quantidade total de clientes distintos atendidos na empresa, podemos utilizar a função DISTINCTCOUNT passando a coluna ID Cliente.

Codigo
Clientes Distintos = DISTINCTCOUNT(Vendas[ID Cliente])

Com essa medida pronta, podemos visualizar a quantidade de clientes distintos atendidos em cada ano. Para isso, basta criarmos uma matriz com os Clientes Distintos como Valores e os Anos como Linhas.

Clientes Distintos

Porém, isso ainda não soluciona o nosso problema. Nós temos a quantidade de clientes únicos atendidos a cada ano, mas em 2023 e 2024 podem existir clientes únicos que já foram atendidos nos anos anteriores.

Para identificar os novos clientes por ano, precisamos criar uma coluna que identifique o ano em que cada cliente foi atendido pela primeira vez. Vamos chamá-la de Ano Inicial Cliente.

Codigo
Ano Inicial Cliente =
var clienteatual = Vendas[ID Cliente]
return
YEAR(CALCULATE(
    MIN(Vendas[Data da Venda]),
    FILTER(Vendas,
    Vendas[ID Cliente]=clienteatual)
))

Repare que esta é uma fórmula mais complexa se comparada com as outras que utilizamos ao longo dessa aula, então vamos compreendê-la por partes.

Primeiro, criamos uma variável chamada clienteatual que armazena o valor do ID do cliente da linha atual na tabela Vendas.

Em seguida, usamos a função YEAR para extrair o ano de uma data. Essa data será obtida a partir da função CALCULATE.

Como vimos, a função CALCULATE permite que realizemos um cálculo com base em um filtro específico. Aqui, queremos calcular a data mínima da venda para o cliente atual. Para isso, utilizamos a função MIN, que retorna a menor data na coluna Data da Venda.

Para garantir que estamos calculando a data mínima apenas para o cliente atual, utilizamos a função FILTER.

A função FILTER aplica um filtro na tabela Vendas, retornando apenas as linhas onde o ID do Cliente é igual à variável clienteatual.

Assim, conseguimos obter o ano da primeira compra para cada cliente.

Ano Inicial Cliente

Feito isso, podemos criar uma nova matriz, passando a coluna Ano Inicial Cliente para o campo linhas e a medida Clientes Distintos para os valores.

Clientes Novos por ano

Dessa forma, temos a quantidade de novos clientes que foram atendidos em cada ano.

Conclusão – 5 Exercícios de Fórmulas do Power BI para Praticar

Na aula de hoje, vimos cinco exercícios de fórmulas do Power BI para que você possa praticar e medir seus conhecimentos em relação às fórmulas DAX.

Esses exercícios práticos são fundamentais para auxiliar no seu aprendizado e desenvolvimento com o Power BI. Ao praticar, você fortalece suas habilidades em DAX, fórmulas extremamente importantes para trabalhar com BI. Continue praticando e retomando esses e outros exercícios para melhorar ainda mais seu nível e domínio do Power BI.

Hashtag Treinamentos

Para acessar outras publicações de Power BI, clique aqui!


Quer aprender mais sobre Power BI com um minicurso básico gratuito?

1. Como praticar fórmulas DAX no Power BI?

A melhor forma é resolver exercícios com dados reais, recriando medidas do zero. Comece por funções de agregação (SUM, AVERAGE), depois CALCULATE e FILTER, e por fim inteligência de tempo, sempre conferindo o resultado.

2. Quais fórmulas DAX são essenciais para iniciantes?

As essenciais são SUM, AVERAGE, COUNT, CALCULATE, FILTER e funções de tempo como TOTALYTD. Dominar a CALCULATE é especialmente importante, pois ela está por trás da maioria das medidas mais avançadas.

3. Qual a diferença entre coluna calculada e medida no Power BI?

A coluna calculada é gerada linha a linha e ocupa espaço no modelo; a medida é calculada no momento da visualização, conforme os filtros. Para totais e indicadores, o ideal é usar medidas.

4. Preciso baixar algum arquivo para fazer os exercícios?

Sim, disponibilizamos a base usada nos exercícios gratuitamente: informe o e-mail para recebê-la. Assim você pratica com os mesmos dados e compara o seu resultado com as soluções.