Uma função personalizada utiliza a linguagem da fórmula M, utiliza um conjunto de valores de entrada e, em seguida, devolve um único valor de resultado. Se tiver lógica que pretende reutilizar várias vezes ou aplicar o mesmo conjunto de transformações a uma consulta ou valor diferente, considere criar uma função personalizada e, em seguida, invocar a função onde e quando precisar. Existem várias formas de criar uma função personalizada:
-
Utilize o Editor Avançado para adicionar a sua própria declaração de let e começar do zero.
-
Utilize o comando Invocar Função Personalizada.
-
Existem formas adicionais de criar funções não abordadas neste tópico de ajuda, incluindo os comandos Criar Função e Adicionar como uma Consulta. Para um debate aprofundado, consulte compreender as funções do Power Query M (docs.com)e Utilizar funções personalizadas (docs.com).
Segue-se um simples exemplo de uma função personalizada que segue uma programação de programação por longa duração.
-
Para criar uma consulta em branco:
selecione Excel Dados> Obter Dados > De Outras Origens > Consulta em Branco. Power Query Clique com o botão direito do rato num ponto em branco no painel Consultas à esquerda e, em seguida, selecione Nova Consulta > Outras Origens > Consulta em Branco. -
No painel Consultas à esquerda, faça duplo clique no nome e, em seguida, renove a nova consulta em branco para "HelloWorld".
-
Selecione a nova consulta e, em seguida, selecione Home> Advanced Editor.
-
Substitua o código de iniciação de modelo pelo seguinte código:
let HelloWorld = () => ("Hello World") in HelloWorld
-
Selecione Concluído.
-
Alterou a consulta, "HelloWorld", para uma função personalizada. Repare no ícone à esquerda da mesma.
-
Para invocar a função, selecione-a e, em seguida, selecione Invocar na Pré-visualização de Dados.
-
Os resultados da função são apresentados na Pré-visualização de dados e adicionados ao painel Consultas como uma consulta com o nome predefinido, Função Invocada. Poderá querer dar outro nome à sua nome para algo mais significativo, como "OláMunometr".
-
Selecione essa consulta e, em seguida, selecione> Fechar & Carregar para ver os resultados numa mesma.
Resultados
O exemplo seguinte mostra como passar um parâmetro para uma função personalizada para converter um número decimal em hexadecimal.
-
Para criar uma consulta em branco:
selecione Excel Dados> Obter Dados > De Outras Origens > Consulta em Branco. Power Query Clique com o botão direito do rato num ponto em branco no painel Consultas à esquerda e, em seguida, selecione Nova Consulta > Outras Origens > Consulta em Branco. -
No painel Consultas à esquerda, nome da nova consulta em branco para "AMinhas".
-
Selecione a nova consulta e, em seguida, selecione Home> Advanced Editor.
-
Substitua o código de iniciação de modelo pelo seguinte código:
let MyHex = (parameter1) => Number.ToText(parameter1,"X") in MyHex
-
Selecione Concluído.
-
Alterou a consulta, "MyHex", para uma função personalizada. Repare no ícone à esquerda da mesma.
-
Para invocar a função, selecione-a e, em seguida, em Pré-visualização de Dados, introduza um número na caixa parâmetro1 e selecione Invocar.
-
Os resultados da função são apresentados na Pré-visualização de dados e adicionados ao painel Consultas como uma consulta com o nome predefinido, Função Invocada. Poderá querer dar-lhe um nome mais significativo, como "MyHexResult".
-
Selecione essa consulta e, em seguida, selecione> Fechar & Carregar para ver os resultados numa mesma.
Resultados
Se criou uma função com pelo menos um parâmetro, pode invoque-a como uma função personalizada para criar uma nova coluna e um novo valor para cada linha numa tabela.
-
Para abrir uma consulta, localize uma previamente carregada a partir do Editor do Power Query, selecione uma célula nos dados e, em seguida, selecione Consulta > Editar. Para obter mais informações, consulte Criar, editar e carregar uma consulta no Excel (Power Query). Nota Para este exemplo, a consulta necessita de pelo menos uma coluna de um tipo de dados Número Inteiro.
-
Crie a função personalizada "MyHex", conforme explicado na secção Criar e invocar uma função personalizada que tenha um parâmetro com o Editor Avançado.
-
Na consulta, selecione Adicionar Coluna >Invocar Função Personalizada. É exibida a caixa de diálogo Invocar Função Personalizada.
-
Introduza o nome da nova coluna, como "HexConvert", na caixa Nome da nova coluna.
-
Selecione o nome de uma função personalizada predefinida a partir do dropdown da consulta de Função. Neste exemplo, selecione "AMíx".
-
Uma vez que a função personalizada referencia um parâmetro, o parâmetro é agora apresentado.
-
Selecione uma coluna de um tipo de dados Número Inteiro como um parâmetro para a função.
-
Selecione OK.
Resultado
É criada uma nova coluna que mostra o valor Hexadecimal da coluna Número Inteiro que introduziu como parâmetro.
Consulte Também
Criar fórmulas do Power Query no Excel
Criar uma consulta parametrada