Tipos de funções
As funções são agrupadas em 10 categorias diferentes, incluindo, cadeia de caracteres, lógica e matemática. As categorias são organizadas para facilitar a localização de determinada função. Abaixo, há uma visão geral de cada categoria e alguns exemplos.
Lembre-se de que, ao percorrer os vários exemplos, usamos texto estático e valores. Isso permite o teste e recriação dos exemplos o mais facilmente possível. Em seus fluxos, você pode substituir esses dados estáticos por conteúdo dinâmico. Verifique se os dados dinâmicos estão no formato correto para a função.
Nesta captura de tela, observe como o editor de expressões mostra algumas das funções de cadeia de caracteres disponíveis. Essa lista pode ser rolada e, ao chegar ao final das funções de Cadeia de caracteres, você verá as funções de Coleção, e assim por diante. Observe que também há uma entrada de Pesquisa. Se souber à qual função você deseja fazer referência em sua fórmula, insira-a aqui e ignore a rolagem. Selecionar qualquer uma dessas fórmulas as adiciona ao campo de entrada da fórmula, onde você pode adicionar entradas para completar a fórmula de forma que possa salvá-la.
Não é necessário selecionar uma função. Se souber a função, você pode simplesmente começar a digitá-la. Além disso, observe que você pode inscrever o Copilot para ajudar na criação de uma expressão fornecendo entradas de linguagem natural, caso não saiba qual expressão usar ou simplesmente quiser ajuda para atualizar uma expressão existente.
Funções de cadeia de caracteres
As funções de cadeia de caracteres (texto) são usadas para modificar cadeias de caracteres, localizar caracteres em uma cadeia, formatar cadeias de caracteres e muito mais. A manipulação de texto é uma habilidade essencial geralmente usada ao tentar formatar melhor ou modificar dados recebidos de outro local.
Um exemplo de uma função de cadeia de caracteres é a função formatNumber. Essa função pode converter um número em uma cadeia de caracteres em um formato selecionado. Uma solicitação comum é fazer um número parecer moeda. Para alterar o número 12,5 para US$ 12,50, use a seguinte fórmula:
formatNumber(12.5,'C')
O "C" representa a cadeia de caracteres de formato numérico de moeda. Não se preocupe! Uma lista das outras opções está disponível em Cadeias de caracteres de formato numérico padrão. E como você faria para mostrar o número como moeda, mas com o símbolo do iene? Há um parâmetro opcional no qual é possível passar a localidade.
formatNumber(12.5,'C','ja-JP')
Esta fórmula retornará ¥13.
Funções Coleção
Essas funções são usadas para matrizes e cadeias de caracteres. Você então pode usá-las para verificar se uma matriz está vazia, para capturar o primeiro ou o último item, ou mesmo para as operações de junção, união e interseção.
Um exemplo de uma função Coleção útil é length. É possível usar length para retornar o número de itens em uma cadeia de caracteres ou matriz. O exemplo a seguir deve ser usado para contar o número de caracteres na cadeia "Adoro o Power Automate."
length('I love Power Automate.')
A saída seria 22. Observe que um espaço conta como um caractere. É possível usar esse tipo de função para validação ou com as funções Cadeia de caracteres para manipular cadeias de caracteres.
Funções lógicas
Essas funções são usadas para trabalhar com condições, comparar valores e realizar outras avaliações com base em lógica. Elas costumam ser consideradas como instruções If, por exemplo, para comparar se um número é maior que outro. O Power Automate é compatível com todas as comparações lógicas esperadas.
No exemplo aqui, uma expressão compara se 12 é maior do que 10 e, em seguida, gera a cadeia de caracteres apropriada. Essa também será a primeira expressão a usar mais de uma função. Combinaremos if e funções lógicas greater.
If(greater(12,10),'Yes','No')
O resultado dessa expressão seria a cadeia de caracteres Yes. Para compreender a expressão, trabalhe de dentro para fora. Greater(12,10) retornará true ou false, dependendo se 12 for maior que 10. Nesse caso, a fórmula é avaliada como verdadeira (ou seja, 12 é maior que 10).
O primeiro valor depois da expressão Maior ('Sim') será o valor retornado se a expressão for avaliada como verdadeira, e o próximo valor ('Não') será o valor retornado se a expressão for avaliada como falsa. Como Greater(12, 10) é avaliado como verdadeiro, o primeiro valor após a expressão, ou Sim, é retornado.
Importante
Embora você possa escrever expressões lógicas conforme mostrado acima, há também uma ação chamada Condição, que permite instruções If sem uma expressão. Você pode inserir uma nova etapa em seu fluxo pedindo ao Copilot que insira uma condição ou selecionando o ícone de adição e procurando a ação chamada Condição.
Você pode procurar uma Condição ou inscrever o Copilot para adicionar uma ao seu fluxo.
Aqui está a mesma lógica escrita usando uma ação de condição em vez de uma expressão.
Dica
Ao trabalhar com o Copilot, verifique se ele realiza o que você deseja. Se o Copilot for útil, você poderá adicionar ou modificar a fim de obter exatamente o que precisa.
Com o tempo, você verá que usa uma combinação de expressões e condições, dependendo dos requisitos.
Funções de conversão
Essas funções são usadas para alterar o tipo de dados. Isso pode ser algo simples, como a conversão de um número de texto em um inteiro, ou funções mais complexas, como alterar a codificação de um arquivo de base64 para binário. Saber que essas funções estão disponíveis o ajudará a superar os problemas encontrados ao obter a forma correta de seus dados.
Um cenário comum é a necessidade de usar int ou float para alterar um número de texto em um número real. Isso é comum na importação de dados de uma fonte de dados para o fluxo. O número 12 ou 12,4 pode ser armazenado como texto. Para usar esse número em uma função lógica ou escrevê-lo em um local que espera um número, você precisa convertê-lo. O exemplo a seguir altera a cadeia de caracteres "12" para o inteiro 12.
Int('12')
Isso retorna o número inteiro 12. Se a cadeia de caracteres fosse "12,4", você precisaria convertê-la em flutuante devido aos dígitos decimais. Nesse caso, você usaria
Float('12.4')
Agora você pode usar os números de texto que acabou de criar para recriar o exemplo de função lógica anterior.
If(greater(Int('12'), Float('12.4')),'Yes','No')
Isso geraria a cadeia de caracteres "Não", pois 12 não é maior que 12,4. A combinação de funções como essa é comum e um padrão útil a ser aprendido.
Funções matemáticas
As funções matemáticas fazem exatamente o que você espera. Elas permitem somar, subtrair, multiplicar e fazer outros cálculos semelhantes. Além disso, as funções matemáticas permitem encontrar o menor e o maior números em um conjunto de dados ou obter um número aleatório entre um intervalo especificado, entre outras coisas. Para obter um número aleatório de 1 a 10, use esta expressão:
rand(1,10)
Lembre-se de que há funções diferente para somar números (add) e para subtrair números (sub). Várias linguagens de fórmula adicionam números negativos para gerar subtração, mas o Power Automate, não. Para somar dois números, use esta expressão:
add(12, 13)
Isso retornaria 25. Para somar três números, seria preciso adicionar uma segunda função como esta:
add(add(12,13),15)
Isso retornaria 40. Como visto antes, você aninha funções para obter os resultados desejados.
Funções de data e de hora
Essas funções são usadas para retornar a data e a hora atuais, alterar os fusos horários, encontrar informações específicas sobre uma data e hora e outras manipulações de data ou hora. Se houver valores de data e hora nos dados, você usará essas funções.
Um lembrete importante ao explorar funções de data e hora no Power Automate é que elas costumam se basear em UTC. A maioria das fontes de dados transmite os dados com o Power Automate no formato UTC. Além disso, usar a função UTCNow() retornará a hora atual no formato UTC. Se você quiser usá-las para comparar com os dados do usuário que estão atualmente no Fuso Horário Oriental, será preciso usar a seguinte fórmula para converter o fuso horário:
convertFromUtc(utcNow(), 'Eastern Standard Time', 'dd-MM-yyyy hh:mm tt' )
Isso produzirá 02/09/2024 11:28. Para obter uma lista completa das opções de formato de data e hora, confira Cadeias de caracteres de formato de data e hora personalizadas.
Funções de referência
As funções de referência são usadas para trabalhar com as saídas das ações e gatilhos. O bom é que, na maioria das vezes, o Power Automate gravará essas funções para você. Ao adicionar conteúdo dinâmico ao fluxo, você está usando funções de referência sem saber. Se você adicionar conteúdo dinâmico e passar o mouse sobre ele, será possível ver a função de referência subjacente.
Nesta captura de tela, é possível ver isso na ação Compor ao adicionar o conteúdo dinâmico User name às Entradas de Compor.
Ao passar o mouse sobre o Nome de usuário com o ponteiro, você pode ver que o
triggerOutputs()?['headers']?['x-ms-user-name-encoded']
Power Automate criou a expressão usando o triggerOutputs para você. É a extração da propriedade x-ms-user-name-encoded da propriedade Headers. Na maioria das vezes no Power Automate, você faz referência a essas propriedades por meio de conteúdo dinâmico. Mas é possível escrever suas próprias expressões para recriar isso, se necessário. Cada gatilho e ação terá formatos diferentes de como seus dados são recuperados.
Explore essas funções adicionando diferentes gatilhos, ações, fontes de dados e loops de aplicação em seu fluxo. Depois, use suas propriedades como dados dinâmicos para ver mais exemplos. A boa notícia é que não é comum escrever esses tipos de expressões.
Funções de fluxo de trabalho
As funções de fluxo de trabalho são usadas para recuperar informações sobre o fluxo e estão intimamente relacionadas às funções de referência. Uma das funções é chamada de fluxo de trabalho. É possível usá-la como mostrado aqui.
workflow().run.id
Isso retornará a ID da execução de fluxo atual. É possível usar isso para relatórios de erros ou registro, se necessário. Essas funções não são comumente usadas.
Funções de análise de URI
Essas funções são usadas para dissecar um URI que é passado como uma cadeia de caracteres. Você pode usar essas funções para localizar o host, o caminho, a cadeia de consulta ou outras partes do URI. O exemplo a seguir mostra como usar o uriQuery para obter a parte da cadeia de caracteres de consulta do URI especificado.
uriQuery('https://flow.microsoft.com/fakeurl?Test=Yes')
Isso retornaria a cadeia de caracteres ?Test=Yes, que você poderia então analisar com as funções de cadeia de caracteres para obter o valor transmitido do URI.
Funções de manipulação
As funções de manipulação são usadas para trabalhar com objetos específicos no fluxo. É possível, por exemplo, localizar o primeiro valor não vazio, trabalhar com propriedades ou localizar correspondências xpath. Essas funções são usadas normalmente em avaliações de nós JSON ou XML.
Uma função que pode ser útil é a unir. Esta função permitirá que você localize o primeiro valor não nulo de um conjunto de valores especificado. A função é usada como mostra a seguinte fórmula:
coalesce(null, 'Power Automate', 'Power Apps')
Essa fórmula retornaria a cadeia de caracteres Power Automate. Isso é útil quando você está passando vários valores e deseja encontrar o primeiro que não seja nulo.