Linguagem M referenciação dentro da mesma consulta

O Power Query apresenta diversas funcionalidades interessantes, sendo que podemos muitas vezes compara-lo com a criação de Macros nos ficheiros de Excel. Tal como nas Macros criadas em VBA, o que fazemos é programar um conjunto de passos que depois são repetidos.

Temos de ter em atenção que o resultado de uma consulta é em regra geral uma tabela, temos alguns casos em que podemos utilizar valores individuais ou listas, no entanto quando os introduzimos no contexto final da consulta devolvemos uma tabela.

Neste contexto se olharmos individualmente para cada passo vemos que o que temos são diversas tabelas que podem ser chamadas em diversos momentos de modo a conseguirmos o nosso resultado.

Assim e sendo que cada passo é uma linha de código podemos recorrer a elas de forma individualizada e muitas vezes recorrente dentro do próprio código permitindo-nos assim ter uma flexibilidade muito grande.

Vamos então ver duas opções que podem ser utilizadas de modo a flexibilizar as nossas queries.

Referenciar passos anteriores:

Esta opção é a mais comum sendo que qualquer passo adicional o faz por defeito, só que referência o passo anterior, tal como podemos ver no código abaixo o início da função é o nome do passo anterior:

No entanto podemos sempre alterar este código de modo a identificar outro passo.

Como podemos verificar o último passo identifica dois passos anteriores, podemos comprovar essa questão, não apenas pelo código, mas também pelo fato de que a coluna não tem qualquer tipo de formatação definido sendo que na imagem anterior, a coluna especificada tinha formato de texto.

Referenciar passos posteriores:

Assim como na opção anterior também podemos utilizar passos posteriores para as nossas transformações.

Vamos ver um exemplo simples em que na tabela abaixo vamos inserir um valor constante num passo que vai servir de multiplicador numa coluna calculada no passo anterior:

Como podemos verificar o resultado final está corretamente calculado, no entanto como o resultado final de uma consulta é o último passo que criamos temos de ter em conta que neste caso teremos que utilizar a opção anterior de modo a termos um valor final correto no nosso resultado.

Como podemos verificar a flexibilidade da linguagem M permite-nos “navegar” no nosso código permitindo as mais diversas transformações muitas vezes sem termos de criar queries adicionais para suporte podendo ser introduzidas diversas consultas numa única, temos é de ter em atenção que o último passo será o do resultado final.

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 )

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: