Condividi tramite


Usare le espressioni nelle condizioni per verificare più valori

Questa esercitazione dettagliata illustra come usare le espressioni e le condizioni per confrontare più valori in modalità Avanzata.

Quando si crea un flusso cloud, è possibile usare la scheda Condizione in modalità base per confrontare rapidamente un singolo valore con un altro valore. Tuttavia, a volte è necessario confrontare più valori. Ad esempio, potrebbe essere necessario controllare il valore di alcune colonne in un foglio di calcolo o in una tabella di database.

È possibile usare qualsiasi combinazione delle seguenti espressioni logiche nelle proprie condizioni.

Expression Descrizione Esempio
and Accetta due argomenti e restituisce true se entrambi i valori sono true.
Nota: entrambi gli argomenti devono essere valori booleani.
Questa espressione restituisce false:
and(greater(1,10),equals(0,0))
or Accetta due argomenti e restituisce true se uno degli argomenti è true.
Nota: entrambi gli argomenti devono essere valori booleani.
Questa espressione restituisce true:
or(greater(1,10),equals(0,0))
uguale a Restituisce true se due valori sono uguali. Ad esempio, se parameter1 è someValue, questa espressione restituisce true:
equals(parameters('parameter1'), 'someValue')
less Accetta due argomenti e restituisce true se il primo argomento è minore del secondo argomento.
Nota: i tipi supportati sono integer, float e string.
Questa espressione restituisce true:
less(10,100)
lessOrEquals Accetta due argomenti e restituisce true se il primo argomento è minore o uguale al secondo argomento.
Nota: i tipi supportati sono integer, float e string.
Questa espressione restituisce true:
lessOrEquals(10,10)
greater Accetta due argomenti e restituisce true se il primo argomento è maggiore del secondo argomento.
Nota: i tipi supportati sono integer, float e string.
Questa espressione restituisce false:
greater(10,10)
greaterOrEquals Accetta due argomenti e restituisce true se il primo argomento è maggiore o uguale al secondo argomento.
Nota: i tipi supportati sono integer, float e string.
Questa espressione restituisce false:
greaterOrEquals(10,100)
empty Restituisce true se l'oggetto, matrice o stringa è vuota. Questa espressione restituisce true:
empty('')
not Restituisce l'opposto di un valore booleano. Questa espressione restituisce true:
not(contains('200 Success','Fail'))
if Restituisce un valore specifico se l'espressione risulta true o false. Questa espressione restituisce "yes":
if(equals(1, 1), 'yes', 'no')

Prerequisiti

Di seguito viene descritto cosa è necessario per completare questa procedura dettagliata.

  • Accesso a Power Automate.
  • Il tuo foglio di calcolo con le tabelle descritte nel prosieguo di questa procedura dettagliata. Assicurati di salvare il foglio di calcolo in un percorso, ad esempio Dropbox o Microsoft OneDrive, in modo che Power Automate possa accedervi.
  • Microsoft 365 Outlook (ma è possibile usare qualsiasi servizio di posta elettronica supportato nei flussi.)

Usare l'espressione "or"

Talvolta il flusso di lavoro deve eseguire un'azione se il valore di un elemento è valueA o valueB. Ad esempio, potrebbe essere in corso il tracciamento dello stato delle attività in una tabella del foglio di calcolo. Si supponga che la tabella contenga una colonna denominata Stato e che i valori possibili in questa colonna siano:

  • completato
  • bloccato
  • non necessario
  • non avviato

Di seguito è riportato un esempio del possibile aspetto del foglio di calcolo:

Screenshot di un foglio di calcolo di esempio con una colonna Stato.

Dato il foglio di calcolo precedente, vuoi usare Power Automate per rimuovere tutte le righe con una colonna Stato impostata su completato o non necessario.

Creare il flusso.

Iniziare con un flusso vuoto

  1. Accedi a Power Automate.

  2. Nel riquadro a sinistra selezionare Flussi personali.

  3. Seleziona Nuovo flusso>Flusso cloud pianificato.

Aggiungere un trigger al flusso

  1. Assegna un nome al flusso.

  2. Imposta la pianificazione per eseguire il flusso una volta al giorno.

  3. Seleziona il pulsante Crea per andare al passaggio successivo.

Nota

  • Power Automate usa la finestra di progettazione dei flussi cloud classica o la nuova finestra di progettazione moderna con funzionalità Copilot. Per identificare la finestra di progettazione che stai usando, vai alla sezione Nota in Esplorare la finestra di progettazione dei flussi cloud.
  • Quando passi dalla finestra di progettazione classica a quella moderna, ti viene chiesto di salvare il flusso. Non è possibile salvare e cambiare fino a quando tutti gli errori non sono stati risolti.

Selezionare il foglio di calcolo e ottenere tutte le righe

  1. Chiedi a Copilot di creare un flusso automaticamente. Digita il seguente prompt in Copilot:

    Ogni settimana, elenca le righe in una tabella Excel e se la colonna Stato è uguale a Riuscito o l'e-mail del gestore delle richieste è jake@contoso.com, elimina la riga Excel

  2. Seleziona InviaScreenshot del pulsante Invia.

    Screenshot di un prompt in Copilot.

In alternativa, puoi seguire i passaggi seguenti per creare manualmente lo stesso flusso:

  1. Aggiungi un nuovo passaggio selezionando il segno più (+) >Aggiungi un'azione.

  2. Cerca righe, seleziona Excel Online (Business), quindi seleziona Recupera una riga che corrisponde al foglio di calcolo in uso.

    Ad esempio, se si usano i fogli di Google, selezionare Fogli Google - Ottieni righe.

  3. Seleziona l'azione Elenca le righe presenti in una tabella.

    Screenshot dell'elenco delle righe in una tabella in Copilot.

  4. Seleziona Posizione, Raccolta documenti, File e la tabella che contiene i tuoi dati.

    Screenshot dei parametri per le righe dell'elenco presenti in una tabella in Copilot.

Verificare la colonna Stato di ogni riga

  1. Aggiungi un nuovo passaggio selezionando il segno più (+) >Aggiungi un'azione.

  2. Nella schermata Aggiungi un'azione, cerca Applica a ogni elemento, quindi seleziona Applica a ogni elemento sotto Controllo.

  3. Aggiungi il token value nella casella Selezionare un output dai passaggi precedenti selezionando l'icona magnete.

    Screenshot della selezione del valore nel passaggio precedente.

    Questo token valore rappresenta la tabella del foglio di calcolo e tutti i relativi dati.

  4. Nella scheda Applica a ogni, aggiungi un nuovo passaggio selezionando il segno più (+) >Aggiungi un'azione.

  5. Cerca condizione, quindi seleziona il controllo Condizione.

  6. Aggiungi l'espressione OR seguente. Questa espressione OR controlla il valore di ogni riga nella tabella.

    Se il valore della colonna Stato è completatoOrnon necessario, l'espressione OR restituisce true.

    Ecco un esempio di una scheda Condizione.

    Screenshot della selezione del valore nel passaggio precedente.

Eliminare le righe corrispondenti dal foglio di calcolo

  1. Seleziona Aggiungi un'azione nella diramazione della condizione Se Sì.

    Il ramo Se sì viene eseguito se la condizione Or restituisce true.

  2. Cerca Elimina una riga, seleziona Excel Online (Business), quindi seleziona Elimina una riga.

    Screenshot dell'eliminazione di una riga.

  3. Nella scheda Elimina una riga, imposta le caselle Posizione, Raccolta documenti, File e Tabella esattamente come le hai impostate nella scheda Elenca le righe presenti in una tabella in precedenza in questa esercitazione.

  4. Nell'elenco a discesa Colonna chiave seleziona _PowerAppsId_.

  5. Nel campo Valore chiave inserisci il valore dinamico _PowerAppsId_.

  6. Salva il tuo flusso.

Eseguire il flusso con l'espressione "or"

Il flusso viene eseguito dopo il salvataggio. Se è stato creato il foglio di calcolo illustrato in precedenza in questa esercitazione, ecco il suo aspetto dopo il completamento dell'esecuzione.

Screenshot del foglio di lavoro al completamento dell'espressione

Nota che sono stati eliminati tutti i dati dalle righe con completato o non necessario nella colonna Stato.

Usare l'espressione "and"

Si supponga di avere una tabella del foglio di calcolo con due colonne. I nomi delle colonne sono Stato e Assegnato. Si supponga di voler eliminare tutte le righe, se il valore della colonna Stato è bloccato e il valore della colonna Assegnato è John Wonder. A questo scopo, seguire tutti i passaggi illustrati precedentemente in questa esercitazione ma quando si modifica la scheda Condizione in modalità avanzata, tuttavia, usare l'espressione and illustrata qui.

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

Ecco un esempio di una scheda Condizione.

Screenshot di un'espressione

Eseguire il flusso con l'espressione "and"

Se hai seguito i passaggi di questa esercitazione, il tuo foglio di lavoro dovrebbe essere simile allo screenshot seguente.

Screenshot del foglio di lavoro prima dell'esecuzione del flusso.

Dopo l'esecuzione del flusso, il foglio di lavoro dovrebbe essere simile allo screenshot seguente.

Screenshot del foglio di lavoro dopo l'esecuzione del flusso.

Usare l'espressione "empty"

Si noti che esistono diverse righe vuote nel foglio di calcolo. Per rimuoverle, usare l'espressione empty per identificare tutte le righe che non hanno testo nelle colonne Assegnato e Stato.

Per eseguire questa attività, segui tutti i passaggi elencati nella sezione Usare l'espressione "and" precedente in questa esercitazione. Quando modifichi la scheda Condizione in modalità avanzata, utilizzare la seguente espressione empty.

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

La scheda Condizione sarà simile allo screenshot seguente.

Screenshot di un'espressione

Dopo l'esecuzione del flusso, il foglio di lavoro dovrebbe essere simile allo screenshot seguente.

Screenshot del foglio di calcolo dopo l'esecuzione di

Le righe aggiuntive vengono rimosse dalla tabella.

Usare l'espressione "greater"

Si supponga di aver acquistato biglietti per una partita di calcio per i colleghi e che si stia usando un foglio di calcolo per assicurarsi di essere rimborsati da ogni persona. È possibile creare rapidamente un flusso cloud che invii un messaggio giornaliero a ogni persona che non ha pagato l'intero importo.

Usare l'espressione greater per identificare i dipendenti che non hanno pagato l'intero importo. È quindi possibile inviare automaticamente un messaggio di promemoria agli utenti che non hanno pagato l'intero importo.

Ecco una visualizzazione del foglio di calcolo.

Screenshot del foglio di calcolo di coloro che non hanno pagato per intero.

Ecco l'implementazione dell'espressione greater che identifica tutte le persone che hanno pagato un importo inferiore rispetto a quello dovuto.

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

Usare l'espressione "less"

Si supponga di aver acquistato biglietti per una partita di calcio per i colleghi e che si stia usando un foglio di calcolo per assicurarsi di essere rimborsati da ogni persona entro la data concordata. È possibile creare un flusso cloud che invii un promemoria a ogni persona che non ha pagato l'intero importo se la data corrente è antecedente alla data di scadenza di meno di un giorno.

Usare l'espressione and insieme all'espressione less perché vengono convalidate due condizioni.

Condizione da convalidare Espressione da usare Esempio
L'importo totale dovuto è stato pagato? greater @greater(item()?['Due'], item()?['Paid'])
La data di scadenza è tra meno di un giorno? less @less(item()?['DueDate'], addDays(utcNow(),1))

Combinare le espressioni "greater" e "less" in un'espressione "and"

Usare l'espressione greater per identificare i dipendenti che hanno pagato meno dell'importo completo dovuto e usare l'espressione less per determinare se la data di scadenza del pagamento è a meno di un giorno dalla data corrente. È quindi possibile usare l'azione Invia un messaggio di posta elettronica per inviare e-mail ai dipendenti che non hanno pagato l'importo completo se la data di scadenza è tra meno di un giorno.

Ecco una visualizzazione della tabella del foglio di calcolo.

Screenshot della tabella del foglio di calcolo.

Ecco l'implementazione dell'espressione and che identifica tutti i dipendenti che hanno pagato un importo inferiore rispetto a quello dovuto quando la data di scadenza è a meno di un giorno dalla data corrente:

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

Usare le funzioni nelle espressioni

Alcune espressioni ottengono i rispettivi valori da azioni di runtime che potrebbero non essere ancora disponibili quando viene avviata l'esecuzione di un flusso cloud. Per fare riferimento o usare questi valori nelle espressioni, è possibile usufruire delle funzioni fornite dal linguaggio di definizione del flusso di lavoro. Ulteriori informazioni. Per ulteriori informazioni, vedi Guida di riferimento alle funzioni di espressione del flusso di lavoro in App per la logica di Azure e Power Automate.

Training: Introduzione alle espressioni in Power Automate (modulo)