Escrever expressões complexas

Concluído

As expressões complexas ocorrem quando você combina mais de uma função para obter o resultado desejado. Nas seções de funções matemáticas e data e hora, você já viu exemplos disso. Você viu que, para adicionar três números, é necessário combinar duas funções de adição, como:

add(add(12,13),15)

O que resultou em 40.

Em seguida, você viu como usar a função utcNow para obter a data e a hora atuais e como usar convertFromUtc para alterá-la para o fuso horário Padrão do Leste, como mostrado a seguir:

convertFromUtc(utcNow(), 'Eastern Standard Time', 'dd-MM-yyyy hh:mm tt' )

O que resultou em 06-07-2021 05:39 PM.

Quando você pensa em expressões complexas, trata-se de mais de uma função em uma expressão em que você usa a saída de uma função como entrada de outra. Não há sintaxe, operadores ou considerações especiais.

Para um exemplo final de uma expressão complexa, pegue o cenário de ter algumas entradas como parte do gatilho Disparar um fluxo manualmente e usar essa entrada em uma fórmula para calcular uma nova hora. Você pode usar o fluxo de exemplo usado para testar suas expressões ou para criar um novo fluxo parecido com este abaixo.

Captura de tela de Disparar um fluxo manualmente com entrada de Compose.

Agora, selecione Adicionar uma entrada em Disparar um fluxo manualmente e adicione um número. Em seguida, selecione Adicionar uma entrada novamente e adicione uma data. Agora, o gatilho deverá ter esta aparência:

Captura de tela de Disparar um fluxo manualmente com número e data do gatilho.

Agora, na etapa Compose, você adicionará uma expressão para adicionar o número de dias do gatilho à data.

addDays(triggerBody()['date'], triggerBody()['number'])

Este está usando a função de hora de data addDays e a função de referência triggerBody.

Observação

Se você está se perguntando "Como vou saber o que vai no corpo do gatilho?", então, você está pensando corretamente. O segredo é que você pode combinar conteúdo dinâmico em suas expressões. Para isso, inicie sua expressão digitando addDays() e, com o cursor entre (), selecione Conteúdo dinâmico. Em seguida, você pode escolher os campos como mostrado a seguir. Essa é uma ótima maneira de fazer referência ao conteúdo e, ao mesmo tempo, permitir que o Power Automate faça o trabalho difícil de escrever a fórmula.

Captura de tela animada demonstrando como adicionar uma expressão.

Se você testar seu fluxo e inserir a data 2021-06-01 e o número 2, o resultado será 2021-06-03T 00:00:00.0000000, que é o formato UTC para 3 de junho de 2021.

Agora você pode descobrir o dia da semana dessa data usando outra ação Compose com a seguinte expressão:

dayOfWeek(outputs('Compose'))

Isso retorna o valor 4, que representa quinta-feira, já que ela conta domingo como 0. Esta é uma captura de tela do fluxo atual para validar o que você criou. Note que as expressões foram colocadas em uma observação para facilitar a leitura.

Captura de tela do fluxo de validação criado com o Disparar um fluxo manualmente, Compose e Compose 2.

Agora, adicione outra etapa Compose para verificar se a data selecionada é uma quinta-feira. Faça isso com a expressão a seguir em Compose 3.

if(equals(outputs('Compose_2'),4), 'You chose a Thursday', 'You did not choose a Thursday')

Para 3 de junho de 2021, isso retornará a cadeia "Você escolheu uma quinta-feira".

Esse exemplo é um padrão de construção típico para uma expressão complexa, construindo peça por peça em etapas separadas. Agora que você tem todas as funções necessárias, adicione outra etapa Compose. Em Compose 4, escreva uma expressão grande que faça tudo em uma única etapa. A expressão terá a seguinte aparência:

if(equals(dayOfWeek(addDays(triggerBody()['date'], triggerBody()['number'])),4), 'You chose a Thursday', 'You did not choose a Thursday' )

O resultado para 3 de junho de 2021 será a cadeia "Você escolheu uma quinta-feira". Parabéns. Você escreveu uma expressão complexa executando pequenas etapas e, em seguida, combinando todas elas no final.