Uma função personalizada usa a linguagem de fórmula M, usa um conjunto de valores de entrada e retorna um único valor de saída. Se você tiver lógica de 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 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á maneiras adicionais 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 detalhada, consulte Understanding Power Query M functions (docs.com)and Using custom functions (docs.com).
A seguir, um exemplo simples de uma função personalizada que segue uma longa cultura de programação.
-
Para criar uma consulta em branco: Excel Selecionar Dados> Obter dados > de outras fontes >
consulta em branco. Consulta do Power Clique com o botão direito do mouse em um ponto 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 como "HelloWorld".
-
Selecione a nova consulta e selecione Home > Editor Avançado.
-
Substitua o código inicial do modelo pelo seguinte código:
let HelloWorld = () => ("Hello World") in HelloWorld
-
Selecione 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 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 selecione Home > Fechar & Carregar para ver os resultados em uma planilha.
Resultados
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 >
consulta em branco. Consulta do Power Clique com o botão direito do mouse em um ponto 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 como "MyHex".
-
Selecione a nova consulta e selecione Home > Editor Avançado.
-
Substitua o código inicial do modelo pelo seguinte código:
let MyHex = (parameter1) => Number.ToText(parameter1,"X") in MyHex
-
Selecione 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 parâmetro1 e selecione Invocar.
-
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 selecione Home > Fechar & Carregar para ver os resultados em uma planilha.
Resultados
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 carregada anteriormente no Editor de Consulta do Power, selecione uma célula nos dados e selecione Consulta > Editar. Para obter mais informações, consulte Create, edit, and load a query in Excel (Power Query). Observação Para este exemplo, sua consulta precisa de pelo menos uma coluna de um tipo de dados 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 novo nome da coluna, como "HexConvert", na caixa Novo nome da coluna.
-
Selecione o nome de uma função personalizada pré-definida no menu suspenso 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.
-
Clique em OK.
Resultado
Uma nova coluna é criada que mostra o valor Hexadecimal da coluna Número Inteiro inserido como um parâmetro.
Veja também
Criar fórmulas de consulta do Power Excel
Criar uma consulta de parâmetro