Power BI: conhecendo as linguagens M e DAX
Uma coisa é certa: dá para programar no Power BI e iremos apresentar as possibilidades de fazer isso ao longo deste texto com as duas principais linguagens: a linguagem DAX (Data Analysis Expressions) e a linguagem M (M Query), e seu impacto nas análises realizadas com o Power BI.
Para entender melhor a atuação e diferença entre as duas linguagens, M e DAX, vamos levar em consideração o seguinte cenário: suponha que você precisa analisar informações sobre vendas de uma empresa, você possui várias fontes de dados que inclui datas de venda, valores de vendas e categorias de produtos.
Sua missão é criar um relatório no Power BI Desktop com dados consistente e disponíveis e mostrar a média de vendas por categoria de produto.
Utilizando Linguagem M
Para começar nossa demanda, é importante carregar todas as fontes de dados para o Power Query, nele podemos obter dados de diferentes fontes e visualizar diferentes recursos de tratamento de dados que são executados através de um clique. Se você observar abaixo o print do menu do Power Query irá perceber vários botões que permitem transformar os dados, podemos destacar, por exemplo, as funções de substituir valores, alterar tipo e dividir colunas.
Voltando para nossa missão, com os dados já carregados no Power Query foi preciso fazer alterações bem típicas de uma pessoa analista de dados: foi realizado a separação de valores através da vírgula, a remoção de colunas e mudança de cabeçalho e aparo, todas essas transformações resultaram em uma informação mais consistente para construir nosso relatório final.
Essas etapas foram construídas acessando o menu do Power Query, mas você sabia que todas essas mudanças foram escritas em M? Para ter acesso a isso, precisamos acessar a opção “Editor Avançado” da aba ‘Consulta” na página inicial do Power Query.
Ao clicar no botão podemos ter acesso a uma página com os códigos em M que faz referência às alterações que fizemos nos dados:
Acessando essa página já podemos citar o primeiro benefício de usar a linguagem M: controle total sobre a transformação de dados e das etapas realizadas, isso foi alcançado através do registro das transformações em uma linguagem formal, além disso, esse código serve como documentação dos tratamentos realizados, o que facilita a conferência e a reprodutibilidade do projeto.
Podemos ainda citar que utilizar a linguagem M para tratar os dados também te ajuda na manipulação complexa de dados,visto que nem todas as alterações podem ser executadas de maneira ideal utilizando apenas os botões disponíveis no Power Query e essa lacuna pode ser preenchida pela linguagem M.
Utilizando Linguagem DAX
Seguindo nossa missão, já temos os dados tratados e preparados para extrair nossas análises, agora partimos para calcular a média de vendas e nessa etapa iremos contar com a linguagem DAX sigla para Data Analysis Expressions.
Uma forma de fazer isso é utilizar o DAX para criar uma medida com o seu conjunto de dados, um dos caminhos possíveis é clicando com o botão direito do mouse em uma de suas tabelas e selecionar a opção “Nova Medida”.
Ao fazer isso, uma nova medida será criada e atrelada a tabela selecionada anteriormente, depois disso uma barra de de fórmulas surgirá no menu superior a qual podemos utilizar a linguagem DAX. Para o nosso problema, precisamos da média de vendas, que será calculada utilizando a coluna que armazena a quantidade de vendas Qnt Vendas
da tabela HistoricoVendas
.
Contaremos com função AVERAGE
para retornar a média desejada, depois de criada é possível utilizar a medida nomeada de Média_Vendas
para compor os visuais e seguir com nosso relatório.
Média_Vendas = AVERAGE('HistoricoVendas'[QntVendas])
Toda a lógica da linguagem pode sem bem compreendida ao entender três aspectos: contexto de linha, contexto de filtro e iterações. que torna a linguagem aplicável a diferentes contextos de negócio e de forma resumida é possível construir cálculos olhando individualmente para as linhas da tabela e também levando em consideração os filtros selecionados em seu relatório.
Além disso, lidamos melhor com situações complexas e repetitivas ao percorrer todo o conjunto de dados de forma iterativa. E se você quiser entender melhor esses 3 conceitos eu já te indico o curso Power BI: DAX contextos e iteração que trabalha muito bem esses aspectos.
Para compor nosso relatório de vendas, empregamos a linguagem DAX para criar uma medida: a média de vendas. Essa medida faz apenas uso da função AVERAGE
. No entanto, essa linguagem oferece uma gama diversificada de funções, atendendo a várias necessidades de cálculo.
Além de medidas, o DAX também pode ser aplicado em diferentes cenários, como a criação de colunas e tabelas calculadas, capazes de gerar novos insights a partir do seu modelo, outra aplicação é a interação com aspectos de segurança em nível de linha, possibilitando a filtragem de informações específicas para determinados usuários.
Considerações
Em resumo, a linguagem M é usada para obtenção, manipulação e transformação de dados brutos, enquanto a linguagem DAX é usada para cálculos e análises em modelos de dados . Ambas são poderosas e desempenham papéis fundamentais e complementares na criação de relatórios e análises eficazes usando ferramentas da Microsoft e principalmente no Power BI.
Por fim, tanto a linguagem M quanto a linguagem DAX são utilizadas principalmente em produtos da Microsoft. O “M” é a linguagem do Power Query, que está contido no Power BI, Excel e Analysis services e o DAX também pode ser usado nesses produtos. No entanto, elas têm propósitos diferentes e são usadas em contextos diferentes.
Agora você sabe que é possível programar em Power BI! Além de usufruir de sua interface intuitiva com botões, menus e janelas característicos dos produtos da Microsoft, podemos realizar o tratamento de dados e criação de medidas para além de “arrastar, clicar e soltar” os elementos visuais no canvas. Com a usabilidade da plataforma e a utilização do DAX e o M conseguimos democratizar ainda mais os processos de análise de dados.
Quer se aprofundar?
Nesse artigo você conheceu melhor as duas linguagens, suas diferenças e principais impactos nas análises de dados realizadas principalmente no Power BI, mas o conhecimento não para por aqui! Na plataforma da Alura temos muitos outros conteúdos para você aprofundar ainda mais nesse assunto e ter melhor proveito nas suas análises de dados! Vou deixar aqui embaixo algumas sugestões:
- Não sabe nada de Power BI e quer estar preparado (a) para os principais desafios de análises de dados? Então não deixe de conferir os conteúdos da formação de Power BI que te mostra todos os principais passos para criação dos relatórios.
- Quer se especializar na linguagem M? então confira o curso Power BI: mergulhando na linguagem M.
- Que entender melhor o poder do DAX? Então confira o curso Power BI: aplicando DAX ao negócio.
Créditos
- Instrutora: Ana duartel
- Coordenador técnico: Daniel Siqueira
- Produção didática: Tiago Trindade
- Design: Alysson manso
- Apoio: Rômulo Henrique