Uso de funciones condicionales en expresiones de fórmulas - AWS IoT SiteWise

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de funciones condicionales en expresiones de fórmulas

En las transformaciones y las métricas, puede usar la siguiente función para comprobar una condición y obtener resultados diferentes, independientemente de si la condición se evalúa como verdadera o falsa.

Función Descripción

if(condition, result_if_true, result_if_false)

Evalúa la condition y devuelve result_if_true si la condición se evalúa como verdadera o result_if_false si la condición se evalúa como false.

condition debe ser un número. Esta función considera 0 una cadena vacía como false y todo lo demás (incluido NaN) como true. Los valores booleanos se convierten en 0 (falso) y 1 (verdadero).

Se puede devolver la constante none de esta función para descartar el resultado de una condición concreta. Esto significa que puede filtrar los puntos de datos que no cumplan una condición. Para obtener más información, consulte Filtrado de puntos de datos.

ejemplo Ejemplos
  • if(0, x, y) devuelve la variable y.

  • if(5, x, y) devuelve la variable x.

  • if(gt(temp, 300), x, y) devuelve la variable x si la variable temp es mayor que 300.

  • if(gt(temp, 300), temp, none) devuelve la variable temp si es mayor o igual que 300, o none (sin valor) si temp es menor que 300.

Se recomienda utilizar UFCS para las funciones condicionales anidadas en las que uno o más argumentos son funciones condicionales. Se puede utilizar if(condition, result_if_true) para evaluar una condición y elif(condition, result_if_true, result_if_false) para evaluar condiciones adicionales.

Por ejemplo, en lugar de utilizar if(condition1, result1_if_true).elif(condition2, result2_if_true, result2_if_false), puede utilizar if(condition1, result1_if_true, if(condition2, result2_if_true, result2_if_false)).

También puede encadenar funciones condicionales intermedias adicionales. Por ejemplo, puede utilizar if(condition1, result1_if_true).elif(condition2, result2_if_true).elif(condition3, result3_if_true, result3_if_false) en lugar de anidar varias instrucciones if, como if(condition1, result1_if_true, if(condition2, result2_if_true, if(condition3, result3_if_true result3_if_false))).

importante

Es necesario usar elif(condition, result_if_true, result_if_false) con UFCS.