Criar e invocar uma função personalizada

Aplica-se a
Excel para Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

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 saída. Se tiver lógica que pretende 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. Existem várias formas de criar uma função personalizada:

Criar e invocar uma função personalizada simples com o Editor Avançado

Segue-se um exemplo simples de uma função personalizada que segue uma tradição de programação de longa data.

  1. Para criar uma consulta em branco:

    Excel Selecione Dados>Obter Dados>de Outras Origens>Consulta em Branco.

    Power Query clique com o botão direito do rato num local em branco no painel Consultas à esquerda e, em seguida, selecione Nova Consulta>Outras Origens>Consulta Em Branco Consulta.

  2. No painel Consultas à esquerda, faça duplo clique no nome e, em seguida, mude o nome da nova consulta em branco para "HelloWorld".

  3. Selecione a nova consulta e, em seguida, selecione Base>Editor Avançado.

  4. Substitua o código de arranque do modelo pelo seguinte código:
    let
         HelloWorld = () => ("Hello World")
    in
         HelloWorld

  5. Selecione Concluído.

  6. Alterou a consulta "HelloWorld" para uma função personalizada. Anote o ícone de função Ícone de função à esquerda do mesmo.

  7. Para invocar a função, selecione-a e, em seguida, selecione Invocar na Pré-visualização de Dados.

    Invocar a função personalizada HelloWorld

  8. 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. Talvez queira mudar o nome para algo mais significativo, como "HelloWorldResult".

  9. Selecione essa consulta e, em seguida , selecione>Fechar Base & Carregar para ver os resultados numa folha de cálculo.

Resultados

Resultados do HelloWorld numa folha de cálculo

Criar e invocar uma função personalizada que tenha um parâmetro com o Editor Avançado

O exemplo seguinte mostra como transmitir um parâmetro para uma função personalizada para converter um número decimal em hexadecimal.

  1. Para criar uma consulta em branco:

    Excel Selecione Dados>Obter Dados>de Outras Origens>Consulta em Branco.

    Power Query clique com o botão direito do rato num local em branco no painel Consultas à esquerda e, em seguida, selecione Nova Consulta>Outras Origens>Consulta Em Branco Consulta.

  2. No painel Consultas à esquerda, mude o nome da nova consulta em branco para "MyHex".

  3. Selecione a nova consulta e, em seguida, selecione Base>Editor Avançado.

  4. Substitua o código de arranque do modelo pelo seguinte código:
    let
         MyHex = (parameter1) => Number.ToText(parameter1,"X")
    in
         MyHex

  5. Selecione Concluído.

  6. Alterou a consulta "MyHex" para uma função personalizada. Anote o ícone de função Ícone de função à esquerda do mesmo.

  7. Para invocar a função, selecione-a e, em seguida, em Pré-visualização de Dados, introduza um número na caixa parameter1 e selecione Invocar.
    Invocar a função personalizada MyHex

  8. 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 mudar o nome para algo mais significativo, como "MyHexResult".

  9. Selecione essa consulta e, em seguida , selecione>Fechar Base & Carregar para ver os resultados numa folha de cálculo.

Resultados

Resultado da função MyHex numa folha de cálculo

Adicionar uma coluna ao invocar uma função personalizada

Se tiver criado uma função com, pelo menos, um parâmetro, pode invocá-la como uma função personalizada para criar uma nova coluna e um novo valor para cada linha numa tabela.

  1. Para abrir uma consulta, localize uma que foi carregada anteriormente a partir do Editor do Power Query, selecione uma célula nos dados e, em seguida, selecione Editar Consulta>. Para obter mais informações, consulte Criar, editar e carregar uma consulta no Excel (Power Query).

    Nota Para este exemplo, a consulta precisa de, pelo menos, uma coluna de um tipo de dados Número Inteiro .

  2. 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.

  3. Na consulta, selecione Adicionar Coluna>Invocar Função Personalizada. É apresentada a caixa de diálogo Invocar Função Personalizada .

  4. Introduza o novo nome da coluna, como "HexConvert", na caixa Novo nome da coluna .

  5. Selecione o nome de uma função personalizada predefinida no menu pendente Consulta de função. Neste exemplo, selecione "MyHex".

  6. Uma vez que a função personalizada referencia um parâmetro, o parâmetro é agora apresentado.

  7. Selecione uma coluna de um tipo de dados Número Inteiro como um parâmetro para a função.

    A caixa de diálogo Invocar Função Personalizada

  8. Selecione OK.

Resultado

É criada uma nova coluna que mostra o valor hexadecimal da coluna Número Inteiro que introduziu como parâmetro.

A nova coluna myHex de valores numa folha de cálculo

Veja Também

Ajuda do Power Query para Excel

Criar fórmulas do Power Query no Excel

Criar uma consulta parâmetro

Gerir consultas

Compreender as funções Power Query M (docs.com)

Utilizar funções personalizadas (docs.com)