値変換ノードを使用すると、解析タスクのフローメッセージ内のフィールドを別の値に変換し、元のフィールドまたは新しいフィールドに割り当てることができます。この変換により、さらなる分析または出力のために多様なデータ生成が容易になります。
シナリオ
シナリオ 1:値を元のフィールドに変換する。
温室では、センサーを使用して照度(ルクス)を監視しています。照度は本質的に負になることはありませんが、散発的に負の測定値が IoT Platform に送信されることがあり、データ分析結果が大幅に歪む可能性があります。これを解決するために、値変換ノードを使用して、異常なデータを所定のデフォルト値に変換できます。たとえば、負の照度(ルクス)の測定値をデフォルト値の 0 に変換することで、さらなるデータ活用を効率化し、論理的な矛盾を防ぐことができます。
シナリオ 2:値を新しく定義されたフィールドに変換する。
デバイスが指定された温度(温度)範囲内で動作し、エラーを防ぐために、温度センサーは温度(温度)データを IoT Platform に送信します。温度範囲を 通常、アラーム、危険 などのレベルに分類し、これらの分類に基づいて適切なアクションを開始するために、値変換ノードを使用して、それぞれのレベルを示す新しいフィールド alert_level を導入します。
前提条件
データ計算式またはデータフィルタリングフィルターが設定されていることを確認します。詳細については、「データ計算とデータフィルタリングを構成する」をご参照ください。
背景情報
データ解析機能の概要については、「使用上の注意」を参照してください。
データ解析ワークスペースの操作方法については、「データ解析ワークスペースの手順」を参照してください。
手順
中央のキャンバスで、現在のノードの後に追加
アイコンをクリックします。出力されたノードリストから、[値変換] ノードをシングルクリックします。
キャンバスで、[値変換] ノードをシングルクリックし、右側の構成パネルで変換パラメーターを以下の表のように設定します。
構成項目
説明
条件付きフィールド名
条件付き評価のフィールド(通常は数値フィールド)を指定します。このフィールドは、前のノードからの出力である必要があります。
選択可能なフィールドは、前のノードからの出力フィールドです。
出力フィールド名
値変換ノードによって生成される出力フィールドの名前を定義します。この名前には、数字、文字、およびアンダースコアを含めることができ、数字で始めることはできず、長さは 30 文字以下にする必要があります。
数字、文字、およびアンダースコアのみがサポートされています。数字で始めることはできず、長さは 30 文字以下にする必要があります。
出力フィールドの型
出力フィールドのデータ型を選択します:[BIGINT]、[DOUBLE]、または [VARCHAR]。
一致しない場合のデフォルト出力値
値変換ノードの条件が満たされない場合のデフォルトの出力フィールド値を定義します。
生データを出力するには、
${フィールド名}を使用します。条件付き分岐
条件の各セットの出力値を構成します。複数の条件付き分岐を追加でき、各分岐には最大 3 つの AND 条件を含めることができ、ノードごとに最大 10 個の分岐を含めることができます。システムは分岐を順番に評価し、最初の一致を使用します。
[条件演算子] を次のオプションから選択します:[= (等しい)]、[!= (等しくない)]、[> (より大きい)]、[>= (以上)]、[< (より小さい)]、[<= (以下)]、[isnull](空)、または [isnotnull](空ではない)。
条件評価に必要な [条件値] を入力します。
(オプション)[AND 条件を追加] をクリックして、追加の [条件演算子] と [条件値] を追加および構成します。
説明条件付き分岐内のすべての条件は、AND 関係を使用して結合されます。
1 つの条件付き分岐には、最大 3 つの AND 条件を含めることができます。
分岐条件が満たされた場合の出力フィールドの値を定義します。
IoT Platform は、指定された [出力フィールドの型] に基づいてデータ型を確認します。
フィールドの生データを出力するには、
${フィールド名}構文を使用します。
[条件付き分岐を追加] をシングルクリックするだけで、複数の条件付き分岐を設定できます。
説明値変換ノード内:
最大 10 個の条件付き分岐が許可されます。
ノードは、条件付き分岐を上から下へ順番に評価し、最初に成功した一致を実行します。
「シナリオ」セクションの「シナリオ 2」に基づく、以下の構成例を参照してください。
この構成は、デバイスの動作温度範囲を決定し、それに応じて異なるアラートレベルを割り当てます。
50<temperature<=80の場合、アラートレベル(alert_level)を alarm に設定します。temperature>80の場合、アラートレベル(alert_level)を danger に設定します。その他すべての場合、アラートレベル(alert_level)を normal に設定します。
値変換ノードは、以下に示すように、SQL
case when文に似ています。select case when temperature>50 and temperature<=80 then 'alarm' when temperature>80 then 'danger' else 'normal' end as alert_level構成を保存するには、データ解析ワークベンチの右上隅にある [保存] をシングルクリックします。
ノードの出力フィールドには、新しく構成された出力フィールド名と前のノードからの出力フィールド名の両方が含まれます。
次の手順
値変換ノードを設定した後、他の処理ノードまたはターゲットノードを構成して、解析タスクの構成を完了します。詳細については、「データ計算とデータフィルタリングを構成する」をご参照ください。