您可以通過值轉化節點將解析任務的流轉訊息中某個欄位,轉化為另一個值,該值可以輸出到原欄位或新定義的欄位。通過該節點轉化產生多樣化的資料,可用於後續分析或輸出。
應用情境
情境一:轉化值到原欄位。
某大棚使用感應器上報光照度(lux)。在實際情況中,光照度沒有負值,但是由於某種原因,資料上報到物聯網平台後偶爾出現負值,嚴重影響資料分析結果。此時可以通過值轉化節點,將異常資料轉化為預設值。例如此處將光照度(lux)的負值轉化為預設值0,方便後續資料使用,避免資料出現常識性錯誤。
情境二:轉化值到新定義欄位。
某裝置需要運行在特定的溫度(temperature)範圍。為了監測裝置運行溫度,防止裝置故障,使用溫度感應器將溫度(temperature)資料上報到物聯網平台,此時如果需要對溫度範圍劃分等級(例如normal、alarm 、 danger等),根據不同等級來觸發不同的後續操作,可以使用值轉化節點,新增欄位alert_level輸出對應等級。
前提條件
已配置資料計算的運算式或資料過濾的篩選器,具體操作,請參見配置資料計算和資料過濾。
背景資訊
操作步驟
在中間畫布單擊當前節點後的添加表徵圖。
在彈出的節點列表中單擊值轉化節點。
在畫布中單擊值轉化節點,在右側配置面板,參照下表,配置轉化值。
配置項
說明
條件欄位名
選擇要用於條件判斷的欄位,通常使用數值型欄位。
此處可選欄位為上一節點的輸出欄位。
輸出欄位名
值轉化節點輸出的欄位名稱,由您自訂。
僅支援數字、字母和底線,不能以數字開頭,長度不超過30個字元。
輸出欄位類型
設定輸出欄位的資料類型:BIGINT、DOUBLE、VARCHAR。
未匹配時預設輸出值
當值轉化節點定義的條件都不匹配時,設定輸出欄位的預設值。
如果需要輸出未經處理資料,則用
${欄位名稱}
表示。條件分支
設定匹配條件的輸出欄位值。
選擇條件操作符,可選:=(等於)、!=(不等於)、>(大於)、>=(大於等於)、<(小於)、<=(小於等於)、isNull(為空白)、isNotNull(不為空白)。
輸入用於條件判斷的具體條件值。
(可選)單擊添加且條件,配置條件操作符和條件值。
說明一個條件分支中的多個條件是且關係。
一個條件分支中,最多包含3個且條件。
設定匹配分支條件時,輸出欄位的值。
物聯網平台會根據輸出欄位類型,進行資料類型校正。
如果需要輸出原始欄位資料,則用
${欄位名稱}
表示。
您可以單擊添加條件分支,配置多個條件分支。
說明一個值轉化節點中:
最多包含10個條件分支。
不同條件分支間按從上到下順序匹配,如果有多個分支匹配,節點會按照第一個匹配到的分支進行輸出。
下面為以“應用情境”中情境二為例的一個具體配置:
該配置的業務含義是判斷裝置的運行溫度範圍,在不同的範圍輸出不同的警示層級:
當
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
單擊資料解析工作台右上方的儲存,完成值轉化節點的配置。
該節點的輸出欄位為已設定的輸出欄位名和上一節點的輸出欄位。
後續操作
配置完值轉化節點後,您可以繼續配置其他處理節點,也可以配置目標節點完成整個解析任務配置。