Uma função personalizada usa a linguagem da fórmula M, usa um conjunto de valores de entrada e retorna um único valor de saída. Se você tiver lógica que deseja reutilizar muitas 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 você precisar dela. Há várias maneiras de criar uma função personalizada:
- Use o Editor Avançado para adicionar sua própria instrução let e começar do zero.
- Use o comando Invocar Função Personalizada .
- Há outras maneiras de criar funções não discutidas neste tópico de ajuda, incluindo os comandos Criar Função e Adicionar como Consulta . Para uma discussão aprofundada, consulte Noções básicas sobre Power Query funções M (docs.com) e Uso de funções personalizadas (docs.com).
Criar e invocar uma função personalizada simples com o Editor Avançado
Veja a seguir um exemplo simples de uma função personalizada que segue uma tradição de programação de longa data.
Para criar uma consulta em branco:
Excel Selecionar Dados>Obter dados>de outras fontes> consultaem branco.
Power Query Clique com o botão direito do mouse em um local em branco no painel Consultas à esquerda e selecione Nova Consulta> OutrasFontes>Consulta em Branco.
No painel Consultas à esquerda, clique duas vezes no nome e renomeie a nova consulta em branco como "HelloWorld".
Selecione a nova consulta e selecione HomeEditor>Avançado.
Substitua o código inicial do modelo pelo seguinte código:
let
HelloWorld = () => ("Hello World")
in
HelloWorldSelecione Concluído.
Você alterou a consulta "HelloWorld" para uma função personalizada. Observe o ícone de função
esquerda dele.Para invocar a função, selecione-a e, em seguida, selecione Invocar na Visualização de Dados.
Os resultados da função são exibidos na visualização de dados e adicionados ao painel Consultas como uma consulta com o nome padrão, Função Invocada. Talvez você queira renomeá-lo para algo mais significativo, como "HelloWorldResult".
Selecione essa consulta e, em seguida, selecione Página Inicial>,Fechar & Carregar para ver os resultados em uma planilha.
Resultados
Criar e invocar uma função personalizada que tenha um parâmetro com o Editor Avançado
O exemplo a seguir 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:
Excel Selecionar Dados>Obter dados>de outras fontes> consultaem branco.
Power Query Clique com o botão direito do mouse em um local em branco no painel Consultas à esquerda e selecione Nova Consulta> OutrasFontes>Consulta em Branco.
No painel Consultas à esquerda, renomeie a nova consulta em branco como "MyHex".
Selecione a nova consulta e selecione HomeEditor>Avançado.
Substitua o código inicial do modelo pelo seguinte código:
let
MyHex = (parameter1) => Number.ToText(parameter1,"X")
in
MyHexSelecione Concluído.
Você alterou a consulta, "MyHex", para uma função personalizada. Observe o ícone de função
esquerda dele.Para invocar a função, selecione-a e, em Visualização de dados, insira um número na caixa parameter1 e selecione Invoke.
Os resultados da função são exibidos na visualização de dados e adicionados ao painel Consultas como uma consulta com o nome padrão, Função Invocada. Talvez você queira renomeá-lo para algo mais significativo, como "MyHexResult".
Selecione essa consulta e, em seguida, selecione Página Inicial>,Fechar & Carregar para ver os resultados em uma planilha.
Resultados
Adicionar uma coluna invocando uma função personalizada
Se você tiver criado uma função com pelo menos um parâmetro, poderá invocá-la como uma função personalizada para criar uma nova coluna e um novo valor para cada linha em uma tabela.
Para abrir uma consulta, localize uma previamente carregada no Editor do Power Query, selecione uma célula nos dados e selecione Editar Consulta>. Para obter mais informações, consulte Criar, editar e carregar uma consulta no Excel (Power Query).
Observação Para este exemplo, sua consulta precisa de pelo menos uma coluna de um tipo de dados de Número Inteiro .
Crie a função personalizada "MyHex" conforme explicado na seção Crie e invoque uma função personalizada que tenha um parâmetro com o Editor Avançado.
Na consulta, selecione Adicionar Coluna>Invocar Função Personalizada. A caixa de diálogo Invocar Função Personalizada é exibida.
Insira o nome da nova coluna, como "HexConvert", na caixa Nome da nova coluna .
Selecione o nome de uma função personalizada predefinida na lista suspensa Consulta de função. Neste exemplo, selecione "MyHex".
Como a função personalizada faz referência a um parâmetro, o parâmetro agora é exibido.
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 inserida como parâmetro.
Veja Também
Ajuda do Power Query para Excel
Criar fórmulas do Power Query no Excel