Utilizzo di funzioni condizionali nelle espressioni delle formule - AWS IoT SiteWise

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di funzioni condizionali nelle espressioni delle formule

Nelle trasformazioni e nelle metriche, è possibile utilizzare la seguente funzione per verificare una condizione e restituire risultati diversi, indipendentemente dal fatto che la condizione restituisca vero o falso.

Funzione Descrizione

if(condition, result_if_true, result_if_false)

Valuta condition e restituisce result_if_true se la condizione restituisce vero o result_if_false se la condizione restituisce. false

conditiondeve essere un numero. Questa funzione considera 0 una stringa vuota come false e tutto il resto (inclusoNaN) cometrue. I booleani vengono convertiti in 0 (false) e 1 (true).

È possibile restituire la costante none da questa funzione per scartare l'output per una particolare condizione. Ciò significa che puoi filtrare i punti dati che non soddisfano una condizione. Per ulteriori informazioni, consulta Filtraggio dei punti dati.

Esempio Esempi
  • if(0, x, y)restituisce la variabiley.

  • if(5, x, y)restituisce la variabilex.

  • if(gt(temp, 300), x, y)restituisce la variabile x se la variabile temp è maggiore di300.

  • if(gt(temp, 300), temp, none)restituisce la variabile temp se è maggiore o uguale a300, oppure none (nessun valore) se temp è minore di300.

Si consiglia di utilizzare UFCS per funzioni condizionali annidate in cui uno o più argomenti sono funzioni condizionali. È possibile utilizzare if(condition, result_if_true) per valutare una condizione e elif(condition, result_if_true, result_if_false) valutare condizioni aggiuntive.

Ad esempio, puoi usare if(condition1, result1_if_true).elif(condition2, result2_if_true, result2_if_false) invece diif(condition1, result1_if_true, if(condition2, result2_if_true, result2_if_false)).

È inoltre possibile concatenare funzioni condizionali intermedie aggiuntive. Ad esempio, è possibile utilizzare, if(condition1, result1_if_true).elif(condition2, result2_if_true).elif(condition3, result3_if_true, result3_if_false) anziché annidare, più if istruzioni, ad esempio. if(condition1, result1_if_true, if(condition2, result2_if_true, if(condition3, result3_if_true result3_if_false)))

Importante

È necessario utilizzarlo elif(condition, result_if_true, result_if_false) con UFCS.