Trabalhar com funções personalizadas em Power Apps
Neste novo artigo, vamos ver alguns exemplos de funções personalizadas que podemos definir em Power Apps. Vamos lá?
Em Power Apps, no desenvolvimento de aplicações utilizamos a linguagem PowerFx com funções predefinidas para realizar a maioria das operações. Contudo podemos também criar as nossas próprias funções, com cálculos personalizados e armazená-las, da mesma forma que em qualquer linguagem de programação.
Desta forma, ganhamos a vantagem e benefício de reutilizar o código sem a necessidade de repetir a mesma expressão vezes sem conta no desenvolvimento da nossa aplicação, tornando o código também mais eficiente.
Não percas aqui o cenário de exemplo que partilho contigo, assim como o processo passo a passo. Se tiveres alguma dúvida, envia-nos a uma mensagem... ficamos à tua espera!
Aceder às Funções Personalizadas
Antes de obtermos as funções personalizadas, devemos ativar a funcionalidade, uma vez que à data do artigo ainda se encontra em pré-visualização.
Iniciando a nova aplicação devemos aceder às definições da aplicação.
Nas definições acedemos à opção Funções Definidas pelo Utilizador…
Devemos salvar a aplicação e voltar a iniciar a mesma para que as funcionalidades fiquem ativas.
Definir Variáveis na aplicação
No artigo vamos só rever o conceito das variáveis, que se assemelha com o conceito das funções personalizadas, assim podemos criar 3 botões (um para cada tipo de variável: Global, de Ecrã e Coleção).
No primeiro botão definimos uma variável Global, acedendo à propriedade OnSelect do Botão. A Variável vai armazenar um valor aleatório com a função RandBetteen, semelhante à função do Excel.
Set(varGlobal; RandBetween(10;100))
No Segundo botão vamos armazenar uma variável de contexto de ecrã.
UpdateContext({varLocal: varGlobal*2})
Esta variável acede ao valor armazenado na variável anterior, e multiplica o seu valor por 2.
No 3º botão, definimos uma variável que coleciona vários itens, registados numa caixa de texto de inserção de dados: txtNome
Collect(colDados; {Nome: txtNome.Text})
Criar uma função Personalizada
Um dos métodos para criar uma função personalizada, é apenas guardar uma expressão, que pode conter funções pré-definidas do Power Apps.
Acedemos às propriedades da aplicação, mais especificamente à propriedade fórmulas. Todo o conteúdo colocado nesta propriedade armazena as funções personalizadas que podemos reutilizar ao longo da aplicação.
Neste caso vamos criar 2 funções personalizadas:
- A primeira função é uma função existente, a função IF, pré-definida do PowerFx, mas que pretendemos reutilizar várias vezes, e assim, ao darmos um “nome” à expressão, torna-se mais fácil reutilizá-la. Para passarmos para outra função devemos sempre terminar com “;;” (PT) ou “;” (EN) para a próxima instrução em Power Apps.
fxFormula = If(varGlobal >= 50; varGlobal/2; varGlobal* 2);;
- A segunda função já será uma função personalizada. Sendo uma função personalizada, tem uma sintaxe diferente, mas se conheces outras linguagens de programação é semelhante.
- A função tem um nome, e argumentos, e cada argumento tem um tipo de dados.
- Por fim, o resultado da função também devolve um tipo de dados específico.
fxCalculoTotal(Quantidade:Number;PUnitario:Number):Number = Quantidade * PUnitario;;
Explicando melhor a expressão:
- fxCalculoTotal: Nome da expressão
- (Quantidade:Number;PUnitario:Number): Os 2 argumentos que a função necessita, separados por “;” e com o respetivo tipo de dados de cada argumento.
- :Number: Tipo de dados retornado no resultado da função
- = Quantidade * PUnitario: Cálculo realizado pela função
Uma função personalizada é então construída desta forma.
Usar a função Personalizada
Voltando ao ecrã da aplicação, vamos criar mais alguns controlos para visualizar o resultado da função:
- Inserimos uma etiqueta de texto que irá conter o resultado da fórmula:
- 2 etiquetas, uma para Quantidade e outra para Preço Unitário
- 2 caixas de texto para colocar os valores da Quantidade e Preço Unitário
- Uma Etiqueta de Texto para o resultado da função.
Na primeira etiqueta de texto, colocamos na propriedade Text o seguinte valor, onde a primeira função personalizada fxFormula é a primeira expressão criada com a função IF e as variáveis:
Nas propriedades de cada uma das caixas de texto, asseguramos que o valor colocado é número, pois os argumentos da função requerem um número…
A Etiqueta de texto, final, tem a fórmula personalizada, onde já necessitamos de introduzir os argumentos da nossa função.
Como podes verificar, criar funções personalizadas permitem efetuar cálculos personalizados, mas também reutilizá-las em vários locais e cenários dentro da tua aplicação!
Outros conteúdos relevantes:
Obter informações de uma base de dados no Excel!
Aprende aqui como podes obter informações de Bases de Dados no Microsoft Excel através de um conjunto de funções de bases de dados específicas.
Função SE (IF) – Saiba tudo sobre a função SE (IF) do Microsoft Excel!
Confira aqui o vídeo tutorial, e aprenda tudo sobre a função SE, ou IF na sua versão inglesa, com um passo a passo detalhado e completo.