Amauri Bekesius • 09 out 2024 • Microsoft Power BI
Nós que trabalhamos com análise de dados, sabemos que transformar informações brutas em percepções mais atraentes é de extrema importância. Imagine, então, poder realizar cálculos complexos diretamente na base de dados e criar relatórios que impressionam qualquer gestor. Isso é possível com as funções DAX no Power BI Desktop.
Essas fórmulas / funções permitem que possamos explorar dados de maneira profunda, automatizando processos e aumentando a precisão das nossas análises.
Neste artigo, iremos demostrar como começar a usar DAX para levar suas habilidades com o Power BI Desktop a uma outra escala.
DAX, ou Data Analysis Expressions, é a linguagem de fórmulas utilizada no Power BI Desktop para realizar cálculos e manipulações de dados diretamente nas tabelas do modelo. Com DAX, é possível criar colunas calculadas, medidas e realizar análises avançadas que vão além das funcionalidades básicas do Power BI Desktop.
Em essência, DAX é o que permite transformar dados brutos em insights valiosos, tornando as informações mais acessíveis e compreensíveis para a tomada de decisões. Dominar DAX é essencial para qualquer profissional que deseja aproveitar ao máximo o potencial do Power BI Desktop.
As funções DAX seguem uma sintaxe específica que é fundamental para a criação de fórmulas. Cada função possui um formato definido, com argumentos que variam de acordo com a operação desejada.
A sintaxe básica começa com o nome da função, seguido de parênteses que contêm os argumentos necessários. Por exemplo: na função SUM, você indicará a coluna que deseja somar, SUM(Tabela[Coluna]).
Permite o uso de várias funções combinadas o que possibilita a criação de cálculos complexos. Entender a estrutura da sintaxe é o primeiro passo para aproveitar todo o potencial das funções.
As funções DAX são o coração das análises avançadas no Power BI Desktop. Permitem a manipulação de dados de forma eficiente, tornando possível realizar cálculos desde os mais simples até os mais complexos. Com mais de 250 funções disponíveis, oferecendo uma ampla gama de possibilidades para otimizar as diversas análises.
Passo 1:
AVARAGEX
A função AVERAGEX calcula a média de uma expressão avaliada sobre uma tabela. Extremamente útil para calcular a média de um conjunto de resultados gerados por uma expressão. Exemplo:
Você tem uma tabela chamada “Vendas”, com as colunas “Valor” e “Quantidade”, onde essa última informa a quantidade de itens vendidos a cada vendedor. Então, para calcular a média dos valores vendidos, deverá usar a seguinte fórmula:
MediaVendas = AVERAGEX (Vendas,Vendas[Quantidade]*Vendas[Valor])
AVERAGE
A função AVERAGE é usada para calcular a média de uma coluna específica. Exemplo:
Você tem uma tabela chamada “Vendas”, com a coluna “Valor” e quer calcular a média dos valores de venda. Para efetuar este cálculo, escreva a seguinte fórmula:
MediaVendas = AVERAGE(Vendas[Valor])
Neste exemplo, a função AVERAGE aplica-se diretamente à coluna “Valor” da tabela “Vendas”.
CALCULATE
A função CALCULATE é uma das mais poderosas em DAX, permitindo modificar o contexto em que uma expressão é avaliada. É possível aplicar filtros específicos a uma expressão, alterando os resultados de cálculos como somas, médias e contagens. Exemplo:
CALCULATE(SUM(Vendas[Valor]), Produtos[Categoria] = “Impressoras”) somaria apenas os valores das vendas de produtos da categoria “Impressoras”.
CALENDAR
A função CALENDAR cria uma tabela de datas que vai de uma data inicial até uma data final. Útil quando precisa criar uma tabela de datas para usar como referência em suas análises. Exemplo:
CALENDAR(DATE(2022,1,1), DATE(2024,6,30)) cria uma tabela com todas as datas de 2022 até o primeiro semestre de 2024.
CALENDARAUTO
A função CALENDARAUTO cria automaticamente uma tabela de datas baseada nos dados existentes em seu modelo, cobrindo todo o intervalo de datas encontrado. Exemplo: CALENDARAUTO() gera uma tabela de datas que inclui todas as datas presentes nas suas tabelas de dados, sem precisar especificar manualmente um intervalo.
COUNT
A função COUNT conta o número de valores numéricos em uma coluna. Útil para contagens simples de elementos numéricos em suas tabelas. Exemplo:
Suponha que você tenha uma tabela chamada “Vendas” com a coluna “Produto” e queira contar quantas vendas foram realizadas.
ContagemVendas = COUNT(Vendas[Produto])
Neste exemplo, a função COUNT aplica-se à coluna “Produto” da tabela “Vendas”. Conta o número de valores não nulos existentes nessa coluna.
COUNTBLANK
A função COUNTBLANK conta o número de valores em branco em uma coluna. Isso é especialmente útil para identificar falhas ou lacunas nos dados. Exemplo:
Suponha que na sua tabela “Vendedores” você tenha uma coluna com o nome dos vendedores e outra com as respectivas datas de demissão. E você deseja saber quantos vendedores permanecem na empresa, ou seja, quantos registros da coluna “Demissão” permanecem vazios.
VendedoresAtivos = COUNTBLANK(Vendedores[Demissão])
COUNTROWS
A função COUNTROWS conta o número de linhas em uma tabela, independentemente dos valores contidos. Exemplo:
Você precisa contar o número de linhas da tabela “Vendas”. Então, a fórmula será:
NúmerodeLinhas = COUNTROWS(Vendas)
DATEDIFF
A função DATEDIFF calcula a diferença entre duas datas, retornando o resultado em dias, meses ou anos. Útil para calcular o tempo decorrido entre dois eventos. Exemplo:
Na tabela “Vendas” eu tenho a coluna com a data que a venda foi efetuada (“DataVenda”) e a coluna com a data do fechamento do pedido (“Fechamento”).
Sabendo disso, desejo calcular a diferença entre essas datas, seja em horas, dias ou meses, para cada pedido e adicionar os valores encontrados em uma nova coluna chamada “Diferença”.
Diferença = DATEDIFF( Vendas[DataVenda], Vendas[Fechamento], Day )
DISTINCTCOUNT
A função DISTINCTCOUNT conta o número de valores distintos (únicos) em uma coluna, ignorando valores duplicados. Exemplo:
Na tabela “Vendas” eu tenho uma coluna com o CPF dos compradores e preciso contar quantos CPFs tenho registrados.
NúmeroCPF = DISTINCTCOUNT(Vendas[CPF])
FILTER
A função FILTER retorna uma tabela filtrada de acordo com uma expressão de filtro definida. Ela é fundamental para aplicar filtros específicos dentro de cálculos. Exemplo:
FILTER(Tabela, Tabela[Coluna] > 2500) cria uma tabela filtrada com linhas onde os valores da coluna são maiores que 2500.
KEEPFILTERS
A função KEEPFILTERS preserva os filtros já aplicados a uma coluna ou tabela dentro de uma expressão CALCULATE. Exemplo: CALCULATE(SUM(Vendas[Valor]). Exemplo:
KEEPFILTERS(Produtos[Categoria] = “Impressoras”)) soma os valores das vendas de produtos da categoria “Impressoras”, mantendo outros filtros que possam estar aplicados.
NETWORKDAYS
A função NETWORKDAYS calcula o número de dias úteis entre duas datas, excluindo finais de semana e feriados. Exemplo:
Suponha que você precise detalhar as vendas realizadas no ano de 2023 ou, mais precisamente, saber a quantidade de dias úteis entre a data da venda (“Data Venda”) e a data do fechamento (“Fechamento”).
Para isso você deverá descartar os finais de semana, utilizando o parâmetro “1”, correspondente aos sábados e domingos.
DiasUteis = NETWORKDAYS ( SELECTEDVALUE(Vendas[DataVenda]), SELECTEDVALUE(Vendas[Fechamento]), 1, Feriados )
SUM
A função SUM soma todos os valores de uma coluna. Por exemplo: SUM(Tabela[Coluna]) retorna a soma dos valores presentes na coluna especificada.
SUMX
A função SUMX soma uma expressão avaliada para cada linha de uma tabela. Isso permite cálculos mais complexos que dependem de uma expressão personalizada. Exemplo:
SUMX(Filtro, Tabela[Quantidade] * Tabela[Preço Unitário]) soma o resultado de “Quantidade * Preço Unitário” para cada linha que atende ao filtro aplicado.
Passo2:
Contextos no Power BI referem-se ao conjunto de condições que determinam como os dados são analisados e filtrados. São três principais tipos de contextos no DAX: contexto de linha, contexto de consulta e contexto de avaliação.
Conclusão:
As funções DAX permitem a criação de relatórios altamente personalizados e a realização de análises complexas que vão além do básico. Podendo automatizar processos, realizar cálculos avançados e obter percepções mais profundas, tornando-se indispensável para empresas que utilizam Business Intelligence.
O aprendizado de DAX e Power BI Desktop exige prática contínua. Um bom começo é entender o básico da programação, especialmente em inglês, pois a maioria das funções estão nesse idioma. Além disso, é crucial explorar a interface do Power BI Desktop, testar diferentes funções e manipular dados importados de outras fontes.
O domínio das funções DAX no Power BI pode ser o diferencial que falta para você se destacar no mercado de trabalho. Ao entender a sintaxe, os tipos de dados e os contextos, você poderá criar análises mais precisas e eficientes. Com o conhecimento certo, estará preparado para transformar dados em decisões estratégicas e de alto impacto.