Compartilhar via


Usar expressões nas condições para verificar diversos valores

Neste tutorial, você aprenderá a usar expressões e condições para comparar diversos valores no modo Avançado.

Ao criar um fluxo da nuvem, você poderá usar o cartão Condição no modo básico para comparar rapidamente um único valor com outro. No entanto, há situações em que você precisará comparar diversos valores. Por exemplo, talvez você queira verificar o valor de algumas colunas em uma planilha ou tabela do banco de dados.

É possível usar qualquer combinação das seguintes expressões lógicas em suas condições.

Expressão Descrição Exemplo
and Obtém dois argumentos e retorna true se ambos os valores são verdadeiros.
Observação: ambos os argumentos devem ser boolianos.
Esta expressão retorna falso:
and(greater(1,10),equals(0,0))
or Obtém dois argumentos e retorna true se qualquer um dos valores é verdadeiro.
Observação: ambos os argumentos devem ser boolianos.
Esta expressão retorna true:
or(greater(1,10),equals(0,0))
é igual a Retornará true se os dois valores forem iguais. Por exemplo, se parameter1 for someValue, a expressão retornará true:
equals(parameters('parameter1'), 'someValue')
less Obtém dois argumentos e retornará true se o primeiro argumento for menor que o segundo argumento.
Observação: os tipos com suporte são: inteiro, float e cadeia de caracteres.
Esta expressão retorna true:
less(10,100)
lessOrEquals Obtém dois argumentos e retornará true se o primeiro argumento for menor ou igual ao segundo argumento.
Observação: os tipos com suporte são: inteiro, float e cadeia de caracteres.
Esta expressão retorna true:
lessOrEquals(10,10)
greater Obtém dois argumentos e retornará true se o primeiro argumento for maior que o segundo.
Observação: os tipos com suporte são: inteiro, float e cadeia de caracteres.
Esta expressão retorna false:
greater(10,10)
greaterOrEquals Obtém dois argumentos e retornará true se o primeiro argumento for maior ou igual ao segundo argumento.
Observação: os tipos com suporte são: inteiro, float e cadeia de caracteres.
Esta expressão retorna false:
greaterOrEquals(10,100)
empty Retorna true se o objeto, a matriz ou a cadeia de caracteres estiver vazia. Esta expressão retorna true:
empty('')
not Retorna o oposto de um valor booliano. Esta expressão retorna true:
not(contains('200 Success','Fail'))
if Retorna um valor específico se a expressão resulta em true ou false. Esta expressão retorna "yes":
if(equals(1, 1), 'yes', 'no')

Pré-requisitos

Veja o que você precisa fazer para concluir este passo a passo.

  • Acesso ao Power Automate.
  • Neste passo a passo apresentaremos sua própria planilha com as tabelas descritas. Salve a planilha em um local como o Dropbox ou o Microsoft OneDrive para que o Power Automate possa acessá-la.
  • Microsoft 365 Outlook (enquanto usamos o Outlook aqui, você pode usar qualquer serviço de email com suporte nos fluxos.)

Usar a expressão 'or'

Às vezes, o fluxo de trabalho precisa executar uma ação se o valor de um item for valueA ou valueB. Por exemplo, você pode acompanhar o status das tarefas em uma tabela da planilha. Suponha que a tabela tenha uma coluna chamada Status e os possíveis valores nessa coluna sejam:

  • concluído
  • bloqueado
  • desnecessário
  • não iniciado

Veja um exemplo da provável aparência da planilha:

Captura de tela de uma planilha de exemplo com uma coluna Status.

Dada a planilha anterior, você deseja usar o Power Automate para remover todas as linhas com uma coluna Status definida como concluída ou desnecessária.

Vamos criar o fluxo.

Iniciar com um fluxo em branco

  1. Entre no Power Automate.

  2. No painel esquerdo, selecione Meus fluxos.

  3. Selecione Novo fluxo>Fluxo da nuvem agendado.

Adicionar um gatilho ao seu fluxo

  1. Dê um nome a seu fluxo.

  2. Defina o agendamento para executar o fluxo uma vez por dia.

  3. Selecione o botão Criar para ir para a próxima etapa.

Observação

  • O Power Automate usa o designer clássico de fluxos da nuvem ou o novo designer moderno com recursos do Copilot. Para identificar qual designer você está usando, vá para a seção Observação em Explorar o designer de fluxos da nuvem.
  • Quando você alterna entre o designer clássico e o novo, é solicitado que você salve seu fluxo. Não é possível salvar e alternar até que todos os erros sejam resolvidos.

Selecionar a planilha e obter todas as linhas

Você pode usar Copilot para criar o fluxo para você ou criá-lo manualmente.

Criar um fluxo com o Copilot

  1. Peça ao Copilot para criar um fluxo para você. Digite o seguinte prompt em Copilot:

    Toda semana, liste as linhas em uma tabela do Excel e, se a coluna Status for igual a Sucesso ou o email do gerente da declaração for jake@contoso.com, exclua a linha do Excel.

  2. Selecione EnviarCaptura de tela do botão Enviar..

    Depois de enviar o prompt, Copilot cria o fluxo para você. Você precisa preencher detalhes para que o fluxo funcione, como parâmetros para várias ações adicionadas por Copilot.

Criar um fluxo manualmente

Como alternativa, você pode executar o seguinte procedimento para criar o mesmo fluxo manualmente:

  1. Adicione uma nova etapa selecionando o sinal de mais (+) >Adicionar uma ação.

  2. Pesquisar por linhas>Excel Online (Business)> na ação Obter uma linha que corresponde à planilha que você está usando.

    Por exemplo, se você estiver usando o Planilhas do Google, selecione Planilhas do Google - Obter linhas.

  3. Selecione a ação Listar linhas presentes em uma tabela.

    Captura de tela da listagem de linhas em uma tabela no Copilot.

  4. Selecione a Localização, a Biblioteca de Documentos, o Arquivo e a Tabela que contêm seus dados.

    Captura de tela dos parâmetros das linhas da lista presentes em uma tabela no Copilot.

Verificar a coluna de status de cada linha

  1. Adicione uma nova etapa selecionando o sinal de mais (+) >Adicionar uma ação.

  2. Na tela Adicionar uma ação, procure aplicar a cada e, em seguida, selecione Aplicar a cada em Controle.

  3. Adicione o token de valor à caixa Selecionar uma saída nas etapas anteriores selecionando o ícone de para-raios.

    Captura de tela selecionando o valor da etapa anterior.

    Esse token de valor representa a tabela da planilha e todos os seus dados.

  4. No cartão Aplicar a cada, adicione uma nova etapa selecionando o sinal de mais (+) >Adicionar uma ação.

  5. Procure condição e, em seguida, selecione o controle Condição.

  6. Adicione a expressão OR a seguir. Essa expressão OR verifica o valor de cada linha da tabela.

    Se o valor da coluna Status for concluídoOudesnecessário, a expressão OR é avaliada como verdadeira.

    Veja um exemplo de um cartão Condição.

    Captura de tela de selecionando o valor da etapa anterior.

Excluir linhas correspondentes da planilha

  1. Selecione o sinal de adição (+) para adicionar uma ação na ramificação Verdadeiro da condição.

    A ramificação Verdadeira é executada, se a condição Ou for avaliada como verdadeira.

  2. Procure Excel Online (Business) e selecione Excluir uma linha.

    Captura de tela da exclusão de uma linha.

  3. No painel Excluir uma linha, defina as caixas Localização, Biblioteca de Documentos, Arquivo e Tabela exatamente como você definiu essas caixas no cartão Listar linhas presentes em uma tabela anteriormente neste tutorial.

  4. Na lista suspensa Coluna de Chave, selecione ‑PowerAppsId_.

  5. No campo Valor da Chave, insira o valor dinâmico ‑PowerAppsId_.

  6. Salve seu fluxo.

Executar o fluxo com a expressão 'or'

O fluxo será executado depois que você salvá-lo. Se você criou a planilha mostrada anteriormente neste tutorial, ela terá essa aparência após a execução ser concluída:

Captura de tela da planilha quando a expressão 'OR' é concluída.

Observe que todos os dados das linhas que tinham concluído ou desnecessário na coluna Status foram excluídos.

Usar a expressão 'and'

Suponha que você tenha uma tabela da planilha com duas colunas. Os nomes das colunas são Status e Atribuído. Suponha também que você queira excluir todas as linhas se o valor da coluna Status for bloqueado e o valor da coluna Atribuído for John Wonder. Para realizar essa tarefa, siga todas as etapas anteriores neste tutorial. No entanto, quando você editar o cartão Condição no modo avançado, use a expressão and mostrada aqui.

@and(equals(item()?['Status'], 'blocked'), equals(item()?['Assigned'], 'John Wonder'))

Veja um exemplo de um cartão Condição.

Captura de tela da expressão 'and'.

Executar o fluxo com a expressão 'and'

Se você seguiu as etapas neste tutorial, sua planilha deve ser semelhante à captura de tela a seguir.

Captura de tela da planilha antes da execução do fluxo.

Depois que o fluxo for executado, sua planilha deverá ser semelhante à captura de tela a seguir.

Captura de tela da planilha após a execução do fluxo.

Usar a expressão 'empty'

Observe que agora há várias linhas vazias na planilha. Para removê-las, use a expressão empty para identificar todas as linhas sem texto nas colunas Atribuído e Status.

Para realizar esta tarefa, siga todas as etapas listadas na seção anterior Usar a expressão 'and' neste tutorial. Ao editar o cartão Condição no modo avançado, use a expressão empty a seguir.

@and(empty(item()?['Status']), empty(item()?['Assigned']))

Seu cartão Condição deve ser semelhante à captura de tela a seguir.

Captura de tela da expressão 'empty'.

Depois que o fluxo for executado, a planilha deverá ser semelhante à captura de tela a seguir.

Captura de tela da planilha após a execução de 'empty'.

Observe que as linhas extras foram removidas da tabela.

Usar a expressão 'greater'

Imagine que você tenha comprado ingressos para um jogo de baseball para seus colegas de trabalho e usa uma planilha para garantir que será reembolsado por cada pessoa. Você pode criar rapidamente um fluxo da nuvem que envia um email diário para cada pessoa que não pagou o valor total.

Use a expressão greater para identificar os funcionários que não pagaram o valor total. Em seguida, você pode enviar automaticamente um e-mail de lembrete para eles.

Veja uma exibição da planilha:

Captura de tela dos funcionários que não pagaram o valor total.

Veja a implementação da expressão greater, que identifica todas as pessoas que pagaram menos que a quantidade devida.

@greater(item()?['Due'], item()?['Paid'])

Usar a expressão 'less'

Imagine que você tenha comprado ingressos para um jogo de baseball para seus colegas de trabalho e usa uma planilha para garantir que o valor será reembolsado por cada pessoa na data que todos acordaram. Você pode criar um fluxo da nuvem que envia um email de lembrete para cada pessoa que não pagou o valor total, caso a data atual seja menor que um dia antes da data de vencimento.

Use a expressão and junto com a expressão less, uma vez que há duas condições sendo validadas.

Condição a ser validada Expressão a ser usada Exemplo
O valor total devido foi pago? greater @greater(item()?['Due'], item()?['Paid'])
A data de conclusão é menor do que um dia? less @less(item()?['DueDate'], addDays(utcNow(),1))

Combinar as expressões 'greater' e 'less' em uma expressão 'and'

Use a expressão greater para identificar os funcionários que pagaram menos do que o valor total devido e use a expressão less para determinar se a data de vencimento é menor do que um dia antes da data atual. Você pode então usar a ação Enviar um email para enviar um email de lembrete para aqueles funcionários que não pagaram integralmente e cuja data de vencimento é menor que um dia.

Veja uma exibição da tabela da planilha:

Captura de tela da tabela da planilha.

Veja a implementação da expressão and que identifica todos os funcionários que pagaram menos do que o valor devido e se a data de conclusão é menor do que um dia antes da data atual:

@and(greater(item()?['Due'], item()?['Paid']), less(item()?['dueDate'], addDays(utcNow(),1)))

Usar funções em expressões

Algumas expressões obtêm seus valores de ações de runtime que talvez ainda não existam quando um fluxo da nuvem começa a ser executado. Para fazer referência a esses valores ou trabalhar com eles em expressões, você poderá usar funções fornecidas pela Linguagem de Definição do Fluxo de Trabalho. Mais informações: Para saber mais, acesse Guia de referência para funções de expressão do fluxo de trabalho em Aplicativos Lógicos do Azure e no Power Automate.

Treinamento: Introdução às expressões no Power Automate (módulo)