Funções condicionais - AWS IoT SiteWise

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Funções condicionais

Em transformações e métricas, você pode usar a função a seguir para verificar uma condição e retornar resultados diferentes, independentemente de a condição ser avaliada como verdadeira ou falsa.

Função Descrição

if(condition, result_if_true, result_if_false)

Avaliacondition e retornaresult_if_true se a condição for avaliada como verdadeira ouresult_if_false se a condição for avaliada comofalse.

conditiondeve ser um número. Essa função considera0 uma string vazia comofalse e todo o resto (inclusiveNaN) comotrue. Os booleanos são convertidos em0 (falso) e1 (verdadeiro).

Você pode retornar a constante none dessa função para descartar a saída de uma condição específica. Isso significa que você pode filtrar pontos de dados que não atendem a uma condição. Para obter mais informações, consulte Como filtrar pontos de dados.

exemplo Exemplos
  • if(0, x, y)retorna a variávely.

  • if(5, x, y)retorna a variávelx.

  • if(gt(temp, 300), x, y)retorna a variávelx se a variáveltemp for maior que300.

  • if(gt(temp, 300), temp, none)retorna a variáveltemp se for maior ou igual a300, ounone (sem valor) setemp for menor que300.

Recomendamos que você use o UFCS para funções condicionais aninhadas em que um ou mais argumentos são funções condicionais. Você pode usarif(condition, result_if_true) para avaliar uma condição eelif(condition, result_if_true, result_if_false) avaliar condições adicionais.

Por exemplo, você pode usarif(condition1, result1_if_true).elif(condition2, result2_if_true, result2_if_false) em vez deif(condition1, result1_if_true, if(condition2, result2_if_true, result2_if_false)).

Você também pode encadear funções condicionais intermediárias adicionais. Por exemplo, você pode usar váriasif declaraçõesif(condition1, result1_if_true).elif(condition2, result2_if_true).elif(condition3, result3_if_true, result3_if_false) em vez de aninhar, comoif(condition1, result1_if_true, if(condition2, result2_if_true, if(condition3, result3_if_true result3_if_false))).

Importante

Você deve usarelif(condition, result_if_true, result_if_false) com o UFCS.