Funções DAX de Nível Intermediário e Avançado no Power BI: Guia Prático com Exemplos
- Home
- Funções DAX de Nível Intermediário e Avançado no Power BI: Guia Prático com Exemplos
- Power BI
- Funções DAX de Nível Intermediário e Avançado no Power BI: Guia Prático com Exemplos
Funções DAX de Nível Intermediário e Avançado no Power BI: Guia Prático com Exemplos
Descubra como dominar funções DAX mais complexas para realizar análises avançadas e criar dashboards dinâmicos no Power BI
Neste post, exploramos as funções DAX de nível intermediário e avançado, essenciais para análises mais sofisticadas no Power BI. Aprenda a utilizar funções como CALCULATE, FILTER, RELATED, RANKX e muitas outras, com exemplos práticos que ilustram seu uso em cenários reais. Aprofunde-se no poder do DAX e leve suas análises no Power BI para o próximo nível.
Introdução
As funções DAX (Data Analysis Expressions) no Power BI são ferramentas poderosas que permitem realizar cálculos personalizados, criar medidas dinâmicas e analisar grandes volumes de dados de maneira eficiente. Para aqueles que já estão familiarizados com DAX básico, aprender funções intermediárias e avançadas é essencial para liberar todo o potencial do Power BI.
Neste post, veremos:
- Funções intermediárias para cálculos condicionais e filtros.
- Funções avançadas para cálculos complexos, como classificação dinâmica e cálculos baseados em contexto.
- Exemplos práticos para aplicar essas funções em análises reais.
Funções DAX Intermediárias
1. CALCULATE
A função CALCULATE é uma das mais importantes no DAX, pois permite modificar o contexto de cálculo ao aplicar filtros. Ela é amplamente usada para criar medidas personalizadas.
Sintaxe:
CALCULATE(<expressão>, <filtro1>, <filtro2>, ...)
Exemplo: Somar Vendas de uma Categoria Específica
Vendas Eletrônicos = CALCULATE(SUM(Vendas[Total]), Vendas[Categoria] = "Eletrônicos")
Nesse exemplo, CALCULATE
soma as vendas apenas para a categoria “Eletrônicos”.
2. FILTER
A função FILTER cria uma tabela filtrada com base em uma condição. Ela é geralmente usada em conjunto com outras funções, como CALCULATE
.
Exemplo: Filtrar Vendas Acima de 1000
Vendas Acima de 1000 = CALCULATE(SUM(Vendas[Total]), FILTER(Vendas, Vendas[Total] > 1000))
Aqui, somamos apenas as vendas onde o valor é maior que 1000.
3. RELATED
A função RELATED é usada para acessar colunas de uma tabela relacionada, aproveitando as relações definidas no modelo de dados.
Exemplo: Recuperar o Nome do Cliente
Nome Cliente = RELATED(Clientes[Nome])
sso retorna o nome do cliente correspondente em uma tabela relacionada.
Funções DAX Avançadas
1. RANKX
A função RANKX é usada para classificar valores em uma tabela, permitindo criar rankings dinâmicos com base em medidas ou colunas.
Exemplo: Ranking de Vendas por Produto
Ranking Vendas = RANKX(ALL(Produtos[Produto]), SUM(Vendas[Total]),,DESC)
Nesse exemplo:
ALL(Produtos[Produto])
: Remove os filtros para calcular o ranking global.SUM(Vendas[Total])
: Determina o valor usado para o ranking.DESC
: Indica que o ranking é feito em ordem decrescente.
2. ALL
A função ALL remove filtros em colunas ou tabelas, útil para criar cálculos independentes do contexto atual.
Exemplo: Total Geral de Vendas
Total Geral = CALCULATE(SUM(Vendas[Total]), ALL(Vendas))
Isso calcula o total de vendas ignorando todos os filtros aplicados.
3. EARLIER
A função EARLIER é usada em cálculos iterativos, especialmente em colunas calculadas, para referenciar valores de linhas anteriores no contexto da tabela.
Exemplo: Calcular Percentual de Crescimento Acumulado
Crescimento Acumulado = SUMX(FILTER(Tabela, Tabela[Data] <= EARLIER(Tabela[Data])), Tabela[Valor])
Essa fórmula calcula o crescimento acumulado baseado em uma coluna de data.
4. TIMEINTELLIGENCE
As funções de inteligência de tempo permitem criar cálculos relacionados a períodos, como comparação de ano anterior ou crescimento mês a mês.
Exemplo: Vendas do Ano Anterior
Vendas Ano Anterior = CALCULATE(SUM(Vendas[Total]), SAMEPERIODLASTYEAR(Calendario[Data]))
Exemplos Práticos: Aplicando DAX em Cenários Reais
Cenário 1: Comparação de Vendas Mensais
Objetivo: Criar uma medida para calcular a diferença de vendas entre meses consecutivos.
Diferença Mensal =
SUM(Vendas[Total]) -
CALCULATE(SUM(Vendas[Total]), DATEADD(Calendario[Data], -1, MONTH))
Cenário 2: Percentual de Contribuição
Objetivo: Calcular o percentual que cada produto contribui para o total de vendas.
Percentual Contribuição =
DIVIDE(SUM(Vendas[Total]), CALCULATE(SUM(Vendas[Total]), ALL(Vendas)))
Cenário 3: Média de Vendas Dinâmica
Objetivo: Criar uma média de vendas ajustada por filtros aplicados no relatório.
Média Ajustada = AVERAGEX(VALUES(Vendas[Produto]), SUM(Vendas[Total]))
Exercícios para Prática
-
Criação de Ranking por Região
- Use a função
RANKX
para criar um ranking de vendas por região. - Exiba o ranking em um gráfico de barras.
- Use a função
-
Vendas Acumuladas
- Crie uma medida que calcule as vendas acumuladas por mês.
- Use a função
CALCULATE
em conjunto comDATESYTD
.
-
Comparação de Ano a Ano
- Crie uma medida que calcule o crescimento percentual de vendas em relação ao ano anterior.
- Utilize as funções
CALCULATE
eSAMEPERIODLASTYEAR
.
-
Identificar o Top Produto
- Use
RANKX
eFILTER
para identificar o produto mais vendido em uma categoria específica.
- Use
Conclusão
As funções DAX intermediárias e avançadas permitem realizar análises mais profundas e personalizadas no Power BI. Desde cálculos simples com CALCULATE
e FILTER
até classificações dinâmicas com RANKX
, essas funções oferecem ferramentas poderosas para transformar seus dados em insights acionáveis.
Praticar essas funções em cenários reais é a melhor maneira de dominar DAX e levar suas habilidades no Power BI ao próximo nível. Se você está buscando criar dashboards mais interativos e impactantes, as funções apresentadas neste post são essenciais para alcançar esse objetivo.
Deixe seu comentário
Posts RELACIONADOS
Introdução às Funções DAX no Power BI: Conceitos e Exemplos Práticos
Neste post, você terá uma introdução completa às funções DAX no Power BI, uma das ferramentas mais poderosas para criação de medidas e colunas calculadas....