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 obter uma discussão aprofundada, confira Noções básicas sobre as funções M do Power Query e Como usar funções personalizadas.
Criar e invocar uma função personalizada simples com o Editor Avançado
O exemplo a seguir mostra uma função personalizada simples que segue uma tradição de programação de longa data.
Crie 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>Outras Fontes>Consulta em Branco.
No painel Consultas à esquerda, clique duas vezes no nome e renomeie a nova consulta em branco para
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 aparecem na Visualização de Dados e são 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.
Crie 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>Outras Fontes>Consulta em Branco.
No painel Consultas à esquerda, renomeie a nova consulta em branco para
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. Em Visualização de dados, insira um número na caixa parâmetro1 e selecione Invocar.
Os resultados da função aparecem na Visualização de Dados. O Power Query adiciona os resultados 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ê criar 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
MyHexfunção personalizada 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.
Confira também
Ajuda do Power Query para Excel
Criar uma consulta de parâmetro (Power Query)
Gerenciar consultas (Power Query)