Skip to main content
16 novembro 2017
Follow Us

Power Query: entender a Linguagem M

Uma das características principais do Power Query é o poder de filtrar e combinar, isto é, “triturar” dados de um ou vários suportes de fontes de dados.

Estes dados “triturados” exprimem-se usando a Linguagem de Fórmulas do Power Query, conhecida como "M". O Power Query afixa os documentos M em livros do Excel para permitir a trituração repetível de dados.

A linguagem de Fórmulas do Power Query é uma linguagem otimizada para construir “queries” para modelar dados. É um tipo de linguagem semelhante a F#, que pode ser usada com o Power Query no Excel, «Obter e Transformar» no Excel 2016 e no Power BI Desktop .

O núcleo central no M é a expressão. Uma expressão pode ser calculada, produzindo um valor único.

Embora muitos valores se possam escrever literalmente como uma expressão, um valor não é uma expressão. Por exemplo, a expressão 1 calcula o valor 1; as expressões 1+1 calculam o valor 2. Esta distinção é ténue, mas importante. As expressões são receitas para o cálculo; os valores são os resultados do cálculo.

Funções em "M"

Numa função, começa-se por escrever os parâmetros de função e depois escreve-se uma expressão para calcular o resultado da função. O corpo da função vem depois do símbolo (=>). Opcionalmente, podemos escrever a informação para incluir nos parâmetros e a função retornar um valor.

Por exemplo:

(x) => x+1 – função que soma 1 a um valor x

(x,y) => x+y – função que soma 2 valores

Nesta última função, esta retorna dois valores X e Y e produz um resultado da aplicação do operador + a esses valores. X e Y são os parâmetros que fazem parte dos parâmetros formais da função e X+Y é o corpo da função.

Diferentes tipos de valores em "M"

O dado que resulta do cálculo de uma expressão é o que chamamos de valor. Como convencionado, um valor escreve-se usando a forma exata na qual aparece numa expressão, que avalia a somente esse valor.

Existem diferentes tipos de valor na linguagem M. Cada tipo de valor está associado a uma sintaxe, a um grupo de valores do mesmo tipo, a um grupo de operadores definido sobre aquele grupo de valores e um tipo intrínseco referente a valores recentemente construídos.

Vamos ver os mais comuns

VALOR PRIMITIVO

Um valor primitivo é um valor como um número, valor lógico, texto, ou valor nulo. Um valor nulo pode usar-se para indicar a ausência de quaisquer dados.

pqM1

LISTA

É uma sequência de valores ordenados. O “M” suporta infinitas listas, mas se escritas como sintaxe literal, tem um tamanho fixo. As chavetas indicam o inicio e o fim da lista.

pqM2

TABELA

É um grupo de valores organizados em colunas (que são identificados por nome) e linhas. Não existe sintaxe literal para a criação da tabela, mas existe uma série de funções padrões que podem ser usadas para criar tabelas através das listas ou registros.

#table ({"A","B"}, {{1,2},{3,4}})

FUNÇÃO

É um valor que, quando invocado com argumento, produz um novo valor. As Funções são escritas usando os parâmetros nos parênteses.

(x,y)=>(x+y)/2

Diferenças entre a linguagem DAX e a linguagem M

  • A linguagem DAX é mais dinâmica, uma vez que ajusta e recalcula automaticamente em resposta as “alterações” de slicers, filtros ou outros mecanismos dinâmicos.
  • A DAX é mais eficiente e rápida para agregações tipo SUM, etc.
  • A linguagem M apenas recalcula quando atualizamos os dados.

Operadores da linguagem M

A linguagem M do Power Query inclui um grupo de operadores que podemos usar numa expressão.

Os Operadores aplicam-se aos Operandos para formar expressões simbólicas. Por exemplo, na expressão 1 + 2 os números 1 e 2 são operandos e o operador é o sinal de adição (+).

O significado de cada operador varia em função do tipo de valores do operando.

A linguagem M tem os seguintes operadores:

  • Operador de soma (+)
  • Operadores de combinação (&)
  • Operadores comuns - nulo, lógico, número, tempo, data, datetime, datetimezone, duração, texto, binário
  • Operadores de busca de registro
  • Operadores de data
  • Operadores de datetime
  • Operadores de datetimezone
  • Operadores de duração

Não todas as combinações de valores podem ser suportadas por um operador. As expressões que, quando calculadas, encontram condições de operador indefinidas calculam erros. Por exemplo, 1 + “2” dá erro, porque a soma de um número e texto não é possível.

O Power Query do Excel é uma ferramenta intuitiva para descoberta, transformação e enriquecimento de dados.

As transformações de dados, no Power Query, podem incluir tarefas como:

  • Remover colunas, linhas, espaços em branco
  • Converter tipos de dados – texto, números, datas
  • Dividir ou juntar colunas
  • Classificar e filtrar colunas
  • Acrescentar colunas calculadas
  • Agregar ou resumir dados
  • Encontrar e substituir texto
  • Converter dados de tabelas dinâmicas para dados estáticos

Ficheiros em anexo

Vasco Nogueira

Assine a nossa newsletter e receba o nosso conteúdo diretamente no seu email