Contextualizando a importância do DAX no Power BI
Introdução
Costumamos dizer que afirmar que sabemos Power BI mas não dominamos DAX é como dirigir um supercarro em primeira marcha. Existe um motor potente, com grande capacidade disponível, mas não o aproveitamos. Isso ocorre quando dizemos que sabemos Power BI, mas terminamos usando medidas implícitas — isto é, clicar e arrastar — em vez de programar em DAX.
Antes de discutirmos esse linguagem, vamos apresentar todo o contexto no qual nos basearemos para construir um curso completo.
Apresentando o contexto do curso e objetivos
Contexto do curso
Trabalharemos com a Contoso Varejo do Brasil, uma rede de lojas fictícia que atua com venda de eletrônicos e possui filiais em cinco regiões do Brasil.
O protagonista deste estudo de caso é Lucas, analista de dados dessa empresa. Nós vamos auxiliá-lo a construir diversas funções DAX para que ele entregue um projeto de alto nível ao final. Lucas foi promovido recentemente e precisa entregar um dashboard de desempenho de vendas à direção comercial, para Ana Souza, diretora comercial, antes da reunião trimestral.
Temos, portanto, um objetivo específico: construir um dashboard para a reunião trimestral. Todo o curso será baseado nesse objetivo, e utilizaremos funções DAX para chegar às respostas necessárias.
Definindo o que é DAX e seu escopo
O que é DAX?
DAX é a abreviação, em inglês, de Data Analysis Expressions (Expressões de Análise de Dados). O DAX é um linguagem de programação presente no Power BI. Também existe o linguagem M que funciona no Power Query, mas nosso foco aqui será o DAX.
Esse linguagem está disponível tanto no Power BI quanto no Excel, no recurso Power Pivot. No entanto, essa integração com o Power Pivot será tratada em outro momento.
Explicando a sintaxe e o uso de funções
Sintaxe e funções
O DAX é um linguagem de programação orientado a funções. As funções são muito semelhantes às do Excel. Trabalhamos com o nome da função, seguido de parênteses, e, dentro deles, os argumentos.
Por exemplo:
- No Excel, usamos funções como
PROCV e passamos argumentos como o valor buscado. - No Power BI, uma função como
CALCULATE recebe uma expressão como argumento, entre outros parâmetros.
Esclarecendo separadores e idioma das funções
Separadores de argumentos e idioma das funções
Um ponto importante no Power BI é que passamos os argumentos usando a vírgula (,) e não o ponto e vírgula (;), como é comum no Excel em muitas configurações.
Além disso, o idioma pode causar confusão. No Excel em português, estamos acostumados a funções com nomes traduzidos, como SOMA e PROCV. No DAX, os nomes das funções são, em geral, em inglês, como CALCULATE.
Nas funções DAX, não temos nomes em português. As funções DAX não foram traduzidas e provavelmente não serão. Portanto, as funções DAX estão em inglês. Não há motivo para preocupação: os nomes são simples e não vão confundir. Não é por não saber inglês que alguém deixará de acompanhar este curso. Sempre que possível, traremos uma analogia, o nome dessa função em português, para facilitar a compreensão.
Diferenciando locais de inserção e tipos de resultados
No Excel, onde inserimos nossas funções? Inserimos dentro de células. Por exemplo, na célula B17, digitamos o sinal de igual (=), o nome da função SOMA, abrimos parênteses (), colocamos os valores, fechamos os parênteses () e pressionamos a tecla Enter.
No Power BI, não trabalhamos com células. Exatamente: não há células no Power BI. Mas, então, onde colocamos essas funções? Colocamos em medidas, colunas e tabelas calculadas. Pode parecer confuso no início, e é justamente por isso que estamos aqui: vamos explicar com precisão o que são esses elementos a seguir.
No Excel, como mencionamos, começamos com o sinal de igual (=), o nome da função e seguimos adiante. No Power BI, ao iniciarmos a construção de funções DAX abrindo a barra de fórmulas, começamos pelo nome da tabela, medida ou coluna que estamos criando. Só depois colocamos o sinal de igual (=) e, em seguida, o nome da função. Esse fluxo é simples de entender com a prática.
As funções DAX podem gerar dois tipos de resultados: valores escalares ou tabelas. No Excel, estamos acostumados a escrever uma função, fechar os parênteses () e pressionar Enter para obter um número, uma palavra ou uma data — isso é um valor escalar. No Power BI, além de funções que retornam valores escalares (números, textos, datas), também temos funções capazes de retornar tabelas. Ou seja, teremos a capacidade de escrever uma função, pressionar Enter e obter uma tabela completa como resultado.
Sabemos que, recentemente, o Excel introduziu matrizes dinâmicas, que também permitem criar tabelas a partir de funções. No entanto, vamos ignorar esse recurso por enquanto para focar no contexto do Power BI.
Cada função tem um contexto específico de uso — onde, quando e por que aplicá-la —, e é fundamental compreender desde já que as funções DAX podem gerar valores escalares e também tabelas.