Condividi tramite


Usare le espressioni nelle condizioni per verificare più valori

Questa esercitazione 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. A volte, tuttavia, è 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.

In base al foglio di calcolo precedente, vuoi usare Power Automate per rimuovere tutte le righe in cui la colonna Status è impostata su completed o unnecessary.

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 alla nuova finestra di progettazione, 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

Puoi usare Copilot per creare automaticamente il flusso oppure crearlo manualmente.

Creazione di un flusso con Copilot

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

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

  2. Seleziona InviaScreenshot del pulsante Invia..

    Dopo aver inviato la richiesta, Copilot crea il flusso. Per il funzionamento del flusso, devi immettere i dettagli, ad esempio i parametri per le varie azioni aggiunte da Copilot.

Creare un flusso manualmente

In alternativa, puoi eseguire la procedura seguente per creare manualmente lo stesso flusso:

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

  2. Cerca righe>Excel Online (Business)> l'azione Recupera una riga corrispondente al foglio di calcolo in uso.

    Ad esempio, se si usano i Fogli Google, seleziona 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 del parafulmine.

    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 il segno più (+) per aggiungere un'azione nel ramo True della condizione.

    Il ramo True viene eseguito se la condizione Or restituisce true.

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

    Screenshot dell'eliminazione di una riga.

  3. Nel riquadro 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 foglio di calcolo sarà 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. Puoi creare rapidamente un flusso cloud per l'invio di un messaggio e-mail 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. Puoi quindi inviare loro automaticamente un messaggio e-mail di promemoria.

Ecco una visualizzazione del foglio di calcolo.

Screenshot del foglio di calcolo dei dipendenti 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. Puoi creare un flusso cloud per l'invio di un messaggio e-mail di promemoria giornaliero a ogni persona che non ha pagato l'intero importo se manca meno di un giorno alla scadenza.

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"

Usa l'espressione greater per identificare i dipendenti che hanno pagato meno dell'intero importo dovuto e l'espressione less per determinare se manca meno di un giorno alla scadenza del pagamento. È 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)