Diferença entre DAX e M

Na comunidade do Power BI (PBI) surgem várias questões sobre como se pode implementar a criação de uma coluna utilizando DAX ou o Power Query, no entanto várias vezes a notação programática que surge é relativa a outra linguagem que não a referenciada no post.

O PBI tem por base duas linguagens de “programação”:

  • M: Utilizando no Power Query
  • DAX: utilizada nas análises

Estas linguagens apesar de diferentes permitem-nos por exemplo criar colunas nos nossos modelos.

Mas quais as principais diferenças entre as duas?

O que é M?

M é uma linguagem de script que corre nos bastidores do PBI, mais propriamente no Power Query (nome completo: Power Query Formula Language)

Com esta linguagem podemos realizar a transformação de dados, como tal é uma linguagem funcional.

Quem está habituado a criar queries no PBI (ou excel) sabe que este é um tipo de linguagem por passos e que cada linha de código corresponde a um passo da transformação dos dados. Sendo que um determinado passo é o resultado do passo anterior.

Considerando o universo do PBI é uma linguagem que muitas vezes é negligenciada pelos utilizadores uma vez que através da barra de tarefas ou do botão do lado direito vamos criando os vários passos da query e a linguagem é automaticamente carregada na nossa query.

M pode ser utilizado para:

  • Agrupar dados
  • Remover linhas
  • Adicionar colunas
  • Substituir dados
  • Pivot / Unpivot

O que é DAX?

DAX ou Data Analysis eXpression Language, é uma linguagem existente na maior parte dos serviços de análise de dados (SQL, SSAS, PBI, Power Pivot no excel).

Esta linguagem tem um código muito parecido com as funções do Excel e muitas das suas funções são iguais às do Excel (SOMA, DIVIDIR, MEDIA, …) no entanto permite fazer muito mais. O DAX é uma linguagem de expressão.

Os cálculos em DAX são montados de forma similar ao EXCEL assim a maior parte dos utilizadores que fazem a transição entre as duas ferramentas conseguem perceber facilmente a lógica da construção das funções DAX. As funções passam por uma combinação de filtros e expressões.

DAX pode ser utilizado para:

  • Soma de dados
  • Definir o valor mais elevado ou mais baixo
  • Cálculo de médias ao longo do tempo
  • Cálculo de previsões futuras baseadas em tendências

Conclusão

Tal como podemos verificar estamos a falar de duas linguagens complexas, no entanto, e apesar de poderem fazer coisas similares, os seus propósitos são diferentes:

M é utilizada na transformação de dados e DAX para fazer as análises dos dados.

Como utilizador do PBI penso que seja necessário perceber as duas linguagens e quais os seus propósitos, se temos de nos aprofundar mais em DAX ou em M acho que depende muito do que fazemos, se estamos mais virados para o tratamento de dados então temos de perceber de M, mas se no nosso dia a dia tentamos perceber tendências de dados criar gráficos devemos entender bem como funcionar com DAX.

Verifiquem o artigo abaixo em que me baseei para terem mais algumas respostas e façam uma simples pesquisa no google com certeza vão encontrar muitas leituras interessantes que vão aguçar a vossa mente.

https://radacad.com/m-or-dax-that-is-the-question

http://letmegooglethat.com/?q=what%27s+the+difference+between+dax+and+m+language

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Google photo

Está a comentar usando a sua conta Google Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s

%d bloggers like this: