Utilisation de fonctions conditionnelles dans les expressions de formule - AWS IoT SiteWise

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de fonctions conditionnelles dans les expressions de formule

Dans les transformations et les métriques, vous pouvez utiliser la fonction suivante pour vérifier une condition et renvoyer différents résultats, que la condition soit vraie ou fausse.

Fonction Description

if(condition, result_if_true, result_if_false)

Évalue condition et renvoie result_if_true si la condition est vraie ou result_if_false si la condition est évaluée à. false

conditiondoit être un chiffre. Cette fonction considère 0 une chaîne vide comme false et tout le reste (y comprisNaN) commetrue. Les booléens sont convertis en 0 (faux) et 1 (vrai).

Vous pouvez renvoyer la constante none à partir de cette fonction pour supprimer la sortie pour une condition particulière. Cela signifie que vous pouvez filtrer les points de données qui ne répondent pas à une condition. Pour plus d’informations, consultez Filtrer les points de données.

Exemples
  • if(0, x, y)renvoie la variabley.

  • if(5, x, y)renvoie la variablex.

  • if(gt(temp, 300), x, y)renvoie la variable x si la variable temp est supérieure à300.

  • if(gt(temp, 300), temp, none)renvoie la variable temp si elle est supérieure ou égale à300, ou none (aucune valeur) si elle temp est inférieure à300.

Nous vous recommandons d'utiliser l'UFCS pour les fonctions conditionnelles imbriquées dans lesquelles un ou plusieurs arguments sont des fonctions conditionnelles. Vous pouvez l'utiliser if(condition, result_if_true) pour évaluer une condition et elif(condition, result_if_true, result_if_false) pour évaluer des conditions supplémentaires.

Par exemple, vous pouvez utiliser à la if(condition1, result1_if_true).elif(condition2, result2_if_true, result2_if_false) place deif(condition1, result1_if_true, if(condition2, result2_if_true, result2_if_false)).

Vous pouvez également enchaîner des fonctions conditionnelles intermédiaires supplémentaires. Par exemple, vous pouvez utiliser plusieurs if instructions if(condition1, result1_if_true).elif(condition2, result2_if_true).elif(condition3, result3_if_true, result3_if_false) au lieu de les imbriquer, telles queif(condition1, result1_if_true, if(condition2, result2_if_true, if(condition3, result3_if_true result3_if_false))).

Important

Vous devez l'utiliser elif(condition, result_if_true, result_if_false) avec l'UFCS.