数式での条件付き関数の使用 - 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) を使用する必要があります。