Tipos de funções
As funções são agrupadas em 10 categorias diferentes, como matemática e lógica. 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 à direita do cabeçalho de cada categoria (como Funções de cadeia de caracteres ou Coleção) as palavras Veja mais. Ao selecionar Veja mais, a lista completa de funções dessa categoria será mostrada.
Selecione Veja mais ao lado das funções Cadeia de caracteres.
Funções da 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. Esta função pode converter um número em uma cadeia de caracteres em determinado formato. Uma solicitação comum é fazer um número parecer moeda. Para alterar o número 12,5 para $12,50, use a seguinte fórmula:
formatNumber(12.5,'C')
O C representa a cadeia de caracteres de formato numérico da 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 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, depois, 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. Sendo assim, o valor retornado é true.
Agora que você sabe que a resposta é verdadeira, é possível ver que a função If retorna os dados após a primeira vírgula. Nesse caso, esta é a cadeia de caracteres Sim. Se for false, a cadeia de caracteres No será retornada.
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 chamado Condição.
Aqui está a mesma lógica escrita usando uma ação de condição em vez de uma expressão.
Dica
Observe na captura de tela acima que o Copilot adicionou com êxito um Compor na ramificação verdadeiro, mas não adicionou a ação Compor 4 na ramificação falso. O Copilot nem sempre consegue fazer o que você deseja; portanto, verifique se as ações que o Copilot adicionou estão corretas.
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 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 retornará o número inteiro 12. Se fosse a cadeia de caracteres "12,4", você precisaria convertê-la em flutuante devido aos dígitos decimais. Nesse caso, você usaria
Float('12.4')
Agora, é possível usar o número de texto para criar o exemplo 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 é útil aprender esse padrão.
Funções matemáticas
As funções matemáticas fazem exatamente o que você espera. Elas permitem somar, subtrair, multiplicar e executar outras funções 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)
Um lembrete é que há uma função 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 viu antes, você pode aninhar 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ê precisará dessas 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á-los para comparar com os dados do usuário que estão atualmente no Fuso Horário Oriental, precisará usar a seguinte fórmula para convertê-los:
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 esse conteúdo, poderá ver isso em ação.
Nesta captura de tela, é possível ver isso em ação ao adicionar o conteúdo dinâmico do User name do gatilho às Entradas para Composição.
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 fazer coisas como 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.