数式での条件関数の使用 - AWS IoT SiteWise

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

数式での条件関数の使用

変換メトリクス では、次の関数を使用して条件をチェックし、条件が true と false のどちらに評価されるかにかかわらず、異なる結果を返すことができます。

機能 説明

if(condition, result_if_true, result_if_false)

condition を評価し、条件の評価結果が true の場合に result_if_truefalse の場合には result_if_false を返します。

conditionは数字でなければなりません。この関数は、0 および空の文字列を false と見なし、それ以外 (NaN を含む) の場合を true と見なします。ブール値は、0 (false) 、1 (true) に変換されます。

この関数から[none] (無し) 定数を返すことで、特定の条件の出力を破棄することができます。つまり、条件を満たさないデータポイントをフィルタリングすることができるのです。詳細については、「データポイントのフィルタリング」を参照してください。

  • if(0, x, y) は変数 y を返す。

  • if(5, x, y) は変数 x を返す。

  • if(gt(temp, 300), x, y) は、変数 xtemp よりも大きい場合、変数 300 を返す。

  • if(gt(temp, 300), temp, none)temp 以上なら変数 300 を、nonetemp より小さいなら (300値なし) を返す。

1つ以上の引数が条件付き関数である入れ子関数には、UFCS を使用することをお勧めします。if(condition, result_if_true) で条件を評価し、elif(condition, result_if_true, result_if_false) で追加の条件を評価することができます。

例えば、if(condition1, result1_if_true).elif(condition2, result2_if_true, result2_if_false) の代わりに if(condition1, result1_if_true, if(condition2, result2_if_true, result2_if_false)) を使用することができます。

また、追加の中間条件関数を連結することもできます。たとえば、if(condition1, result1_if_true, if(condition2, result2_if_true, if(condition3, result3_if_true result3_if_false))) のように複数の if ステートメントをネストするのではなく if(condition1, result1_if_true).elif(condition2, result2_if_true).elif(condition3, result3_if_true, result3_if_false) を使用することができます。

重要

UFCS で elif(condition, result_if_true, result_if_false) を使用する必要があります。