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:
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
Accedi a Power Automate.
Nel riquadro a sinistra selezionare Flussi personali.
Seleziona Nuovo flusso>Flusso cloud pianificato.
Aggiungere un trigger al flusso
Assegna un nome al flusso.
Imposta la pianificazione per eseguire il flusso una volta al giorno.
Seleziona il pulsante Crea per andare al passaggio successivo.
Nota
Power Automate utilizza la finestra di progettazione di flussi cloud classica o la finestra di progettazione di flussi cloud con Copilot. Per identificare quale finestra di progettazione stai utilizzando, vai alla sezione Nota in Informazioni sulla nuova finestra di progettazione di flussi cloud con le funzionalità Copilot.
Selezionare il foglio di calcolo e ottenere tutte le righe
Seleziona Nuovo passaggio.
Cerca righe, quindi seleziona Excel Online (Business).
Seleziona l'azione Recupera una riga corrispondete al foglio di calcolo in uso. Ad esempio, se si usano i fogli di Google, selezionare Fogli Google - Ottieni righe.
Seleziona l'azione Elenca le righe presenti in una tabella.
Seleziona Posizione, Raccolta documenti, File e la tabella che contiene i tuoi dati.
Verificare la colonna Stato di ogni riga
Seleziona Nuovo passaggio.
Cerca Applica a ogni, quindi seleziona il controllo Applica a ogni - Controllo.
Aggiungere un token valore alla casella Selezionare un output dai passaggi precedenti.
Questo token valore rappresenta la tabella del foglio di calcolo e tutti i relativi dati.
Seleziona Aggiungi un'azione nella scheda Applica a ogni.
Cerca condizione, quindi seleziona il controllo Condizione.
Aggiungere l'espressione Or seguente. Questa espressione Or controlla il valore di ogni riga nella tabella. Se il valore della colonna Status è completedounnecessary, l'espressione Or restituisce "true".
Ecco un esempio di una scheda Condizione.
Eliminare le righe corrispondenti dal foglio di calcolo
Seleziona Aggiungi un'azione nella diramazione della condizione Se Sì.
Il ramo Se sì viene eseguito se la condizione OR restituisce true.
Cerca Elimina una riga, seleziona Excel Online (Business), quindi seleziona Elimina una riga.
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.
Nell'elenco a discesa Colonna chiave seleziona _PowerAppsId_.
Nel campo Valore chiave inserisci il valore dinamico _PowerAppsId_.
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.
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.
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.
Dopo l'esecuzione del flusso, il foglio di lavoro dovrebbe essere simile allo screenshot seguente.
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.
Dopo l'esecuzione del flusso, il foglio di lavoro dovrebbe essere simile allo screenshot seguente.
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.
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.
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.