Usar fórmulas para realizar cálculos

Concluído

No Power Apps, assim como no Excel, você pode criar fórmulas para calcular e retornar valores. Aqui estão algumas funções comuns que você pode usar ao trabalhar com números e calcular valores. A sintaxe permite inserir vários números entre os parênteses de cada, mas os nossos exemplos abaixo só incluem dois números.

  • Average: calcula a média ou a média aritmética de seus argumentos.

    • Exemplo: Average(3,7) retorna 5
  • Max: encontra o valor máximo.

    • Exemplo: Max(3,7) retorna 7
  • Min: encontra o valor mínimo.

    • Exemplo: Min(3,7) retorna 3
  • Sum: calcula a soma de seus argumentos.

    • Exemplo: Sum(3,7) retorna 10
  • StdevP: calcula o desvio padrão de seus argumentos.

    • Exemplo: StdevP(3,7) retorna 2
  • VarP: calcula a variação de seus argumentos.

    • Exemplo: VarP(3,7) retorna 4

Incorporar controles em fórmulas

Você pode incorporar controles em suas fórmulas referenciando o nome do controle em sua fórmula.

Por exemplo, na imagem a seguir, adicionamos um controle suspenso com a propriedade Items como [1, 2, 3, 4, 5]. Logo abaixo, adicionamos um controle de rótulo com o valor Text: Average(Dropdown1.Selected.Value,7). Em outras palavras, a fórmula para o rótulo gera a média de qualquer que seja o valor na lista suspensa e o número sete.

Alterando o valor suspenso para 5, o valor do rótulo muda para 6 (conforme mostrado). O uso de referências de controle em fórmulas torna o aplicativo mais dinâmico.

Captura de tela do valor suspenso definido como 5 e o rótulo alterado para 6.

Usar vários controles na fórmula

É possível fazer referência a vários controles na mesma fórmula a fim de fornecer uma saída dinâmica para os usuários do aplicativo.

No exemplo a seguir, mostramos como você pode criar uma experiência de formulário com base em várias entradas, que gera uma mensagem comos comentários para o usuário. O exemplo mostra uma maneira de calcular o custo de determinada quantidade de um item e enviá-lo como uma mensagem com informações de moeda incluídas.

Observação

Conforme você trabalhar nessas etapas e a fórmula retornar um erro, lembre-se de que a configuração de idioma do ambiente do Power Apps (ou localização) pode afetar alguns separadores e operadores. Por exemplo, a fórmula Text(ThisItem.Price, "$ ##.00") é expressa em um idioma e uma região que usa ponto como separador decimal, como Japão ou Reino Unido. No entanto, para um idioma e região em que uma vírgula é usada para o separador decimal, como França ou Espanha, a fórmula seria: Text(ThisItem.Price; "$ ##,00").

O operador de seleção de propriedade (ponto) em ThisItem.Price é sempre o mesmo, não importa qual seja o separador decimal, porém, observe que o separador decimal e o separador de operação de encadeamento mudaram para uma vírgula e ponto e vírgula respectivamente. Internamente a fórmula não é alterada, o que muda é como ela é exibida e editada pelo autor.

  1. Em uma instância ou guia separada do navegador, acesse make.powerapps.com e crie um novo aplicativo (você pode usar o mesmo aplicativo que criou em outra unidade).

  2. Selecione + Inserir>Rótulo de texto.

  3. Altere a propriedade Text para "Product".

  4. Adicione mais três rótulos de texto e posicione-os abaixo do primeiro rótulo. Altere as propriedades de Text para "Quantity", "Cost" e "Total", como na imagem a seguir.

    Dica

    Você pode renomear a propriedade Text de cada rótulo clicando duas vezes no próprio controle. Clicar duas vezes realça o texto existente no controle e digitar o texto insere automaticamente o texto em seu controle de rótulo (também atualiza sua fórmula Power fx, inclusive as aspas).

  5. Em seguida, insira três controles Text Input no aplicativo de tela e organize-os conforme mostrado na captura de tela a seguir.

    Captura de tela das entradas de texto de Screen1 na Exibição em Árvore do Power Apps.

  6. Na propriedade Default de cada TextInput, exclua "Entrada de texto" para que cada Default fique em branco.

  7. Insira outro Rótulo de texto à direita de Total. Renomeie esse controle como lblSum.

  8. Altere a propriedade Text para o seguinte:

    Sum(TextInput2.Text * TextInput3.Text)

    (Neste exemplo, TextInput2 é a Quantidade comprada e TextInput3 é o Custo por item.)

  9. Agora, visualize o aplicativo selecionando o botão Reproduzir no canto superior direito. Teste a fórmula inserindo 4 no campo de entrada Quantidade e 8.20 em Custo. Por enquanto, não mostramos duas casas decimais (que é normal na representação de moeda) ou um símbolo de moeda, pois modificaremos nossa fórmula para mostrar isso em seguida.

    Captura de tela mostrando 4 como quantidade, 8,20 como custo e um total de 32,8.

  10. Para modificar nossa fórmula a fim de exibir o valor como uma Moeda, atualize a propriedade Text de lblSum para:

    Text(Sum(TextInput2.Text * TextInput3.Text),"$#,###0.00")

    Observe como Total agora exibe o resultado como Moeda.

    O que acabou de acontecer? Pedimos à fórmula que adicionasse um cifrão na frente de uma fórmula que incluía uma vírgula na casa dos milhares, colocasse um zero na frente de um decimal se o valor fosse menor que 1 e adicionasse duas casas após o decimal, mesmo que o valor fosse zero.

  11. Vamos dar um passo adiante na fórmula adicionando um resumo da transação. Adicione um Rótulo de texto final sob os outros controles e alongue a largura para ocupar pelo menos metade da tela. Na propriedade Text, insira a seguinte fórmula:

    "Your "& TextInput1.Text & " total is: " & lblSum.Text

    Onde TextInput1 é o controle de entrada de texto ao lado do Product

  12. Coloque o aplicativo no modo de versão preliminar e insira um valor no controle de entrada de texto ao lado de Produto. Observe como você recebe uma mensagem de resumo de transação que incorpora os valores de todos os campos de entrada. No nosso exemplo, inserimos Widget como o nome do produto. Tente inserir valores diferentes nos campos de entrada de texto para ver como o total e a mensagem de resumo de transação são alteradas dinamicamente.

    Captura de tela mostrando o resumo da transação

Agora, usamos três controles de entrada com a fórmula Sum para calcular um total e exibir uma mensagem de resumo da transação. Esperamos que você possa ver o potencial de usar vários controles em fórmulas para fornecer comentários dinâmico e relevante aos usuários do aplicativo.

Em seguida, apresentaremos como é possível usar um controle para modificar as propriedades de outros controles, especificamente, como podemos alterar a posição de exibição de um controle. Portanto, mantenha o seu aplicativo de prática aberto e vamos direto para a próxima unidade!