Dica: Expressões lambda no PowerQuery
Na nossa dica rápida de hoje, vamos falar um pouco mais sobre funções lambda e como elas podem ser úteis no PowerQuery.
Funções lambda são funções anônimas, ou seja, funções sem um nome. Elas são compactas e não precisam ser definidas para serem usadas, o que torna a codificação mais dinâmica em diferentes cenários.
Abaixo temos dois exemplos em Python para realizar uma soma simples de dois números.
Função definida:
def soma(num1, num2):
return num1 + num2
Função lambda:
lambda num1, num2: num1+num2
Como você pode ver, a função lambda é bem compacta.
Mas como isso pode ser útil no PowerQuery?
Bem, as funções lambda também estão disponíveis no PowerQuery, e é possível que você já tenha usado sem perceber.
Veja o exemplo abaixo:
let Fonte = Table.FromRecords( { [Coluna1 = "Teste1", Coluna2 = 1.5], [Coluna1 = "Teste2", Coluna2 = 11] } ), LambdaExpression = Table.TransformColumns(Fonte, {"Coluna2", each _ + 1}) in LambdaExpression
Neste exemplo, iteramos todas as linhas enquanto adicionamos um valor constante igual a 1 à coluna "Coluna2".
Agora, vamos fazer uma pequena alteração no código:
let Fonte = Table.FromRecords( { [Coluna1 = "Teste1", Coluna2 = 1.5], [Coluna1 = "Teste2", Coluna2 = 11] } ), LambdaExpression = Table.TransformColumns(Fonte, {"Coluna2", (col) => col + 1}) in LambdaExpression
Perceba que o resultado é exatamente o mesmo, mas a sintaxe é semelhante às expressões lambda do C#. Nesse caso, usamos o operador "=>" para definir a expressão lambda, os valores à esquerda são os parâmetros de entrada e à direita temos a operação em si.
Para os mais experientes, isso pode parecer simples, mas para um iniciante pode ser um pouco confuso devido à sintaxe diferente.
Agora que você entende um pouco mais sobre o assunto, aproveite para explorar ao máximo o recurso no PowerQuery.
Abraços e até a próxima dica!