M é a poderosa linguagem por detrás do cenário do Power Query. Qualquer transformação que você aplicar será escrita na linguagem M. Para muitos, M parece ser uma linguagem assustadora. Neste post eu gosto de explicar um pouco do básico de M. Sem mencionar nenhuma função. Principalmente, quero explicar como a sintaxe da linguagem M é estruturada. Quando você conhece a sintaxe, então tudo se torna simples. M é uma linguagem que você pode aprender facilmente a sua sintaxe. Como desenvolvedor do Power Query; eu recomendo que você passe tempo em M, porque há MUITAS operações que você pode fazer com M, mas você pode não ser capaz de fazê-lo simplesmente com a interface gráfica. Se você gostaria de aprender mais sobre Power BI, leia o livro Power BI do Rookie ao Rock Star.

M é o nome informal de Power Query Formula Language. O nome formal é tão longo que ninguém usa isso, todos o chamam de M! M significa Data Mashup, alguns dizem que significa Data Modeling. M é uma linguagem funcional, e é importante conhecer as funções dela. No entanto, cada língua tem uma estrutura e sintaxe que é o nível iniciante de aprendizagem dessa língua. Neste post, vou explicar a sintaxe de M. Antes de aprender M, eu gostaria que você lesse esta frase em voz alta;

M é muito mais poderosa que a interface gráfica do Power Query

Yes, você a leu corretamente! A interface gráfica do Power Query está mudando a cada mês. Todos os meses novas funcionalidades chegam a esta interface gráfica. Mas o fato é que todas essas funcionalidades estão no idioma há muitos anos! se você soubesse o idioma, você poderia usá-las facilmente, em vez de esperar pela opção de interface gráfica para ele. Há muitos exemplos para isso. um exemplo muito pequeno está aqui: você pode estender sua habilidade de agrupamento em Power Query com uma pequena mudança no script M dela.

Sintaxe de M

Sintaxe desta linguagem é simples. ela sempre tem dois blocos de programação: bloco de expressão LET, e bloco de expressão IN. Aqui está a sintaxe mais simples de M;

let x=1in x

let e em são palavras reservadas. antes de ir ainda um passo adiante, a primeira coisa que você precisa saber;

M (Power Query Formula Language) é Case Sensitive. Há uma diferença entre x e X.

quais são estes dois blocos de programação:

let: definição de todas as variáveis

in: output! Sim, na verdade in significa out! apenas nomeado como in. tudo que você colocar neste bloco será o output da sua consulta.

Então, basicamente, a consulta abaixo significa definir uma variável chamada como x, atribuindo o valor 1 a ela, e mostrá-la como o resultado definido. então a consulta retornará 1.

para executar este exemplo, você precisa abrir o ambiente de trabalho do BI Power. Vá em Get Data, comece com New Blank Query.

then na aba View, selecione advanced Editor;

>

>

Certifique-se quando escrever o script que colocou palavras reservadas como let e em todas as minúsculas. também o nome da variável deve ser o mesmo caso em let e na seção.

Como você pode ver, não há necessidade de definir tipos de dados para variável. ela será automaticamente atribuída quando a primeira atribuição ocorrer.

Se você especificar um valor de texto, então a variável será um tipo de dado de texto automaticamente.

End of the Line

Linhas de códigos em M continua se você não colocar o fim do caractere da linha.

Como você pode ver no exemplo acima, a linha continua, e x será igual a x=1+1 . Se você quiser colocar um fim para uma linha use vírgula(,). exemplo aqui:

cada linha precisa de uma vírgula(,) para terminar. exceto a última linha antes de in.

Nomes Variáveis

Nome das variáveis podem ser todas uma palavra, como Fonte. ou pode ter espaços. caso você tenha alguns caracteres como espaço, então você precisa colocar o nome dentro de aspas duplas (“) e colocar uma hashtag no início da mesma(#). algo semelhante a:

#"This is a variable name"

Nome variável pode conter caracteres especiais, aqui está um exemplo:

Caracteres especiais

Nomes variáveis podem ter caracteres especiais, como você pode ver abaixo variável tem todos os tipos de caracteres nela e ainda corre bem.

Ecape character

Double quote (“) é um caractere de escape. você pode usá-lo para definir variáveis com nomes que tenham outra dupla citação. aqui está um exemplo:

primeira aspa dupla (destacado) acima é necessário estar antes da segunda aspa dupla (que é parte do nome da variável).

Codificação passo a passo

Power Query é uma transformação passo a passo. Toda transformação geralmente acontece em um passo. Enquanto você está escrevendo o código, você também pode notar que no lado direito, você verá que cada variável forma um passo.

na captura de tela acima, você pode ver que cada variável é determinada como um passo. e se a variável tiver espaço no nome, ela irá mostrá-la com espaços na lista de passos aplicados.

A última variável é sempre especificada na seção.

Literais

Existem diferentes formas de definir cada literal na Power Query. Por exemplo, se você quiser definir uma variável de data, aqui está como fazê-lo;

para definir todos os outros tipos de literais, aqui está a tabela de referência a usar:

* para função e tipo; escreverei outro post mais tarde para explicar como esses tipos funcionam.

Function Call

M é uma linguagem funcional, e para fazer quase tudo que você precisa para chamar uma função para ela. funções podem ser facilmente chamadas com o nome da função e especificar parâmetros para ela.

screenshot acima usa a função Date.Year que busca o ano parte de uma data. Os nomes das funções começam sempre com letras maiúsculas: Date.Year()

como qualquer linguagem de programação, você pode colocar alguns comentários no seu código. pode ser em duas formas;

Comentário de linha única com dupla barra (//)

Comentário de linha múltipla entre a barra e os starts (/* comentários */)

Um exemplo do mundo real

Agora que você conheça algumas noções básicas, vamos olhar para uma consulta existente em modo editor avançado e compreendê-la.

>

Na captura de tela acima, você pode ver todos os conceitos básicos mencionados até agora:

  1. let e no bloco
  2. nomes variáveis correspondentes aos passos aplicados na consulta
  3. alguns nomes de variáveis com hashtag e aspas duplas: #nome “var”
  4. >

  5. final dos caracteres da linha: vírgula
  6. chamar muitas funções

>

Existem ainda muitas partes desta consulta que você pode não entender. especialmente quando usando funções. você precisa aprender o que as funções estão fazendo para entender o código por completo. Eu escrevi um post no blog, que explica como usar a palavra-chave #shared para obter documentação de todas as funções no Power Query.

Nos próximos posts, explicarei outros níveis de estruturas em M.

Treinador, Consultor, Mentor
Reza Rad é um Diretor Regional da Microsoft, Autor, Treinador, Orador e Consultor. Tem uma Licenciatura em Engenharia Informática; tem mais de 20 anos de experiência em análise de dados, BI, bases de dados, programação e desenvolvimento, principalmente em tecnologias Microsoft. Ele é um MVP da Plataforma de Dados Microsoft por nove anos contínuos (de 2011 até agora) por sua dedicação em BI da Microsoft. Reza é um blogger ativo e co-fundador do RADACAD. Reza também é co-fundador e co-organizador da conferência Difinity na Nova Zelândia.
Os seus artigos sobre diferentes aspectos das tecnologias, especialmente sobre MS BI, podem ser encontrados em seu blog: https://radacad.com/blog.
Ele escreveu alguns livros sobre MS SQL BI e também está escrevendo alguns outros, ele também foi um membro ativo em fóruns técnicos online como MSDN e Experts-Exchange, e foi moderador dos fóruns do MSDN SQL Server, e é um MCP, MCSE, e MCITP de BI. Ele é o líder do grupo de usuários de Business Intelligence da Nova Zelândia. Ele também é autor do popular livro Power BI from Rookie to Rock Star, que é gratuito com mais de 1700 páginas de conteúdo e o Power BI Pro Architecture publicado pela Apress.
Ele é palestrante internacional no Microsoft Ignite, Microsoft Business Applications Summit, Data Insight Summit, PASS Summit, SQL Saturday e grupos de usuários SQL. E ele é um Treinador Certificado pela Microsoft.
A paixão de Reza é ajudá-lo a encontrar a melhor solução de dados, ele é um entusiasta de dados.

Deixe uma resposta

O seu endereço de email não será publicado.