配置值转化

您可以通过值转化节点将解析任务的流转消息中某个字段,转化为另一个值,该值可以输出到原字段或新定义的字段。通过该节点转化生成多样化的数据,可用于后续分析或输出。

应用场景

  • 场景一:转化值到原字段。

    某大棚使用传感器上报光照度(lux)。在实际情况中,光照度没有负值,但是由于某种原因,数据上报到物联网平台后偶尔出现负值,严重影响数据分析结果。此时可以通过值转化节点,将异常数据转化为默认值。例如此处将光照度(lux)的负值转化为默认值0,方便后续数据使用,避免数据出现常识性错误。

  • 场景二:转化值到新定义字段。

    某设备需要运行在特定的温度(temperature)范围。为了监测设备运行温度,防止设备故障,使用温度传感器将温度(temperature)数据上报到物联网平台,此时如果需要对温度范围划分等级(例如normalalarmdanger等),根据不同等级来触发不同的后续操作,可以使用值转化节点,新增字段alert_level输出对应等级。

前提条件

已配置数据计算的表达式或数据过滤的筛选器,具体操作,请参见配置数据计算和数据过滤

背景信息

操作步骤

  1. 进入数据解析工作台

  2. 在中间画布单击当前节点后的添加image图标。

  3. 在弹出的节点列表中单击值转化节点。

  4. 在画布中单击值转化节点,在右侧配置面板,参照下表,配置转化值。

    配置项

    说明

    条件字段名

    选择要用于条件判断的字段,通常使用数值型字段。

    此处可选字段为上一节点的输出字段。

    输出字段名

    值转化节点输出的字段名称,由您自定义。

    仅支持数字、字母和下划线,不能以数字开头,长度不超过30个字符。

    输出字段类型

    设置输出字段的数据类型:BIGINTDOUBLEVARCHAR

    未匹配时默认输出值

    当值转化节点定义的条件都不匹配时,设置输出字段的默认值。

    如果需要输出原始数据,则用${字段名称}表示。

    条件分支

    设置匹配条件的输出字段值。

    1. 选择条件操作符,可选:=(等于)!=(不等于)>(大于)>=(大于等于)<(小于)<=(小于等于)isNull(为空)、isNotNull(不为空)。

    2. 输入用于条件判断的具体条件值

    3. (可选)单击添加且条件,配置条件操作符条件值

      说明
      • 一个条件分支中的多个条件是且关系。

      • 一个条件分支中,最多包含3个且条件。

    4. 设置匹配分支条件时,输出字段的值。

      物联网平台会根据输出字段类型,进行数据类型校验。

      如果需要输出原始字段数据,则用${字段名称}表示。

    您可以单击添加条件分支,配置多个条件分支。

    说明

    一个值转化节点中:

    • 最多包含10个条件分支。

    • 不同条件分支间按从上到下顺序匹配,如果有多个分支匹配,节点会按照第一个匹配到的分支进行输出。

    下面为以“应用场景”中场景二为例的一个具体配置:

    image

    该配置的业务含义是判断设备的运行温度范围,在不同的范围输出不同的告警级别:

    • 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
  5. 单击数据解析工作台右上角的保存,完成值转化节点的配置。

重要

该节点的输出字段为已设置的输出字段名和上一节点的输出字段。

后续操作

配置完值转化节点后,您可以继续配置其他处理节点,也可以配置目标节点完成整个解析任务配置。