Aula de DAX
Aprenda sobre linguagem de fórmulas do Power BI.
DAX significa Data Analysis Expressions (Expressões de Análise de Dados). É a linguagem de fórmulas usada no Power BI (assim como no Analysis Services e Power Pivot no Excel) para criar cálculos personalizados.
Pense no DAX como as "Fórmulas do Excel", mas muito mais poderoso para análise de dados e modelagem. Com o DAX, você pode criar:
Para praticar, vamos usar um arquivo CSV simples de vendas. Clique no botão abaixo para baixar os dados fictícios que usaremos nos exemplos.
(Crie uma pasta na area de trabalho nome "aula 8" e salve nessa pasta).
Esta é a primeira grande lição no DAX:
É calculada linha por linha quando você atualiza seus dados. Ela é armazenada no modelo e ocupa espaço. Útil para categorizar dados. Por exemplo, criar uma coluna "ValorTotal" multiplicando `[Quantidade]` por `[PrecoUnitario]`.
É calculada em tempo real, com base nos filtros e contexto do seu relatório (gráficos, tabelas, segmentações). Não é armazenada no modelo. É o padrão para cálculos de agregação (Soma, Média, Contagem).
Após carregar o CSV, vá para a "Modo de exibição de tabela", selecione a tabela "Vendas_Exemplo" e crie uma "Nova Coluna" com a fórmula:
ValorTotal = [Quantidade] * [PrecoUnitario]
Isso criará uma nova coluna na sua tabela, calculando o total de cada linha de pedido.
Agora, na "Exibição de Relatório", crie uma "Nova Medida". Esta é a forma mais comum de usar DAX. Usamos a função SUM para somar a coluna que acabamos de criar.
Total Vendas = SUM(Vendas_Exemplo[ValorTotal])
Você pode arrastar esta medida para um "Cartão" visual para ver o faturamento total.
E se quisermos contar quantos pedidos (linhas) temos? Usamos a função COUNTROWS.
Nº Pedidos = COUNTROWS(Vendas_Exemplo)
A função CALCULATE é a mais importante do DAX. Ela permite modificar o contexto do filtro.
Vamos calcular o total de vendas apenas da categoria "Eletrônicos":
Vendas Eletrônicos =
CALCULATE(
[Total Vendas],
Vendas_Exemplo[Categoria] = "Eletrônicos"
)
Esta medida irá ignorar outros filtros de categoria e mostrará sempre o valor dos eletrônicos.
Use os arquivos CSV abaixo para praticar o que aprendeu. Tente criar novas medidas!
Desafio: Calcule o preço médio dos produtos da categoria "Eletrônicos".
Desafio: Conte quantos funcionários são do departamento de "TI" e calcule o salário médio anual.
Para calcular a média, usamos a função AVERAGE. Para filtrar apenas "Eletrônicos", usamos CALCULATE.
Preço Médio Eletrônicos =
CALCULATE(
AVERAGE(dProdutos[PrecoCusto]),
dProdutos[Categoria] = "Eletrônicos"
)
Mais exemplos para praticar (Produtos):
-- Conta o número total de produtos na tabela
Contagem de Produtos = COUNTROWS(dProdutos)
-- Encontra o preço de custo mais alto
Preço Máximo = MAX(dProdutos[PrecoCusto])
Desafio 1 (Contagem de TI):
Nº Funcionários TI =
CALCULATE(
COUNTROWS(dFuncionarios),
dFuncionarios[Departamento] = "TI"
)
Desafio 2 (Média Salarial Geral):
Salário Médio Anual =
AVERAGE(dFuncionarios[SalarioAnual])
Mais exemplos para praticar (Funcionários):
-- Calcula o salário médio apenas do departamento de TI
Salário Médio (TI) =
CALCULATE(
AVERAGE(dFuncionarios[SalarioAnual]),
dFuncionarios[Departamento] = "TI"
)
-- Soma o salário anual apenas do departamento de Vendas
Soma Salários (Vendas) =
CALCULATE(
SUM(dFuncionarios[SalarioAnual]),
dFuncionarios[Departamento] = "Vendas"
)