Scrittura di espressioni complesse

Completato

Le espressioni complesse sono combinazioni di più funzioni per ottenere il risultato desiderato. Nelle sezioni relative alle funzioni matematiche e alle funzioni di data e ora sono già stati illustrati alcuni esempi ed è stato spiegato che per aggiungere tre numeri, è necessario combinare due funzioni add come di seguito:

add(add(12,13),15)

L'operazione ha restituito l'output 40.

È stato quindi illustrato come si usa la funzione utcNow per ottenere la data e l'ora correnti e la funzione convertFromUtc per impostare l'ora solare fuso orientale come mostrato di seguito:

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

La formula ha restituito l'output 06-07-2021 05:39 PM.

Il concetto di espressione complessa è questo: più funzioni in un'espressione in cui l'output di una funzione viene usato come input di un'altra. Non ci sono sintassi, operatori o considerazioni speciali.

Per un ultimo esempio di espressione complessa, si supponga uno scenario con un paio di input come parte del trigger Attiva un flusso manualmente che vengono usati in una formula per calcolare una nuova data e ora. È possibile usare il flusso di esempio già impiegato per testare le espressioni o per creare un nuovo flusso simile a questo riportato di seguito.

Screenshot di Attiva un flusso manualmente con il riquadro Componi per l'input.

Selezionare ora Aggiungi un input in Attiva un flusso manualmente e aggiungere un numero. Selezionare quindi di nuovo Aggiungi un input e aggiungere una data. Il trigger ora ha l'aspetto seguente:

Screenshot di Attiva un flusso manualmente con Numero e Data di attivazione.

Nel passaggio Componi aggiungere un'espressione per specificare il numero di giorni dal trigger alla data.

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

Si usa la funzione di data e ora addDays e la funzione di riferimento triggerBody.

Nota

A questo punto ci si potrebbe domandare cosa si deve specificare per il corpo del trigger e sarebbe una domanda lecita. Il segreto sta nel combinare i contenuti dinamici nelle espressioni. A tale scopo, iniziare l'espressione digitando addDays() e quindi con il cursore tra le parentesi (), selezionare Contenuto dinamico. A questo punto è possibile scegliere i campi come mostrato di seguito. Si tratta di un ottimo modo per fare riferimento al contenuto lasciando a Power Automate l'onere di scrivere la formula.

Screenshot animato che mostra come aggiungere un'espressione.

Se si esegue il test del flusso e si immette la data 2021-06-01 e il numero 2, l'output sarà 2021-06-03T00:00:00.0000000, ossia il formato UTC per il 3 giugno 2021.

Ora è possibile individuare il giorno della settimana usando un'altra azione Componi con la seguente espressione:

dayOfWeek(outputs('Compose'))

Viene restituito il valore 4 che rappresenta giovedì, visto che il conteggio parte da 0 che indica domenica. Di seguito è riportato lo screenshot del flusso corrente per convalidare ciò che è stato creato. Notare che le espressioni sono inserite in una nota per migliorarne la leggibilità.

Screenshot del flusso di convalida creato con Attiva un flusso manualmente, Componi e Componi 2.

Ora si aggiunge un altro passaggio Componi per verificare se la data selezionata è giovedì. Usare quindi la seguente espressione in Componi 3.

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

Per il 3 giugno 2021 viene restituita la stringa "You chose a Thursday".

Questo esempio è un tipico modello di creazione di espressione complessa che viene composta pezzo dopo pezzo in passaggi separati. Ora che sono state elaborate tutte le funzioni necessarie, aggiungere un altro passaggio Componi. In Componi 4 scrivere una lunga espressione che esegue tutte le operazioni in un unico passaggio. L'espressione è simile alla seguente:

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

L'output per il 3 giugno 2021 è la stringa "You chose a Thursday". Complimenti. È stata scritta un'espressione complessa tramite la creazione di piccoli passaggi iniziali che successivamente vengono uniti insieme.