全部产品

配置表达式和筛选器

完成Topic源定义配置后,您可根据源定义的数据,配置字段和表达式,添加筛选器,解析生成多样化数据,用于后续分析或输出。

前提条件

已完成源定义数据配置。具体操作,请参见配置源定义

配置表达式

  1. 从Topic数据解析工作台左侧的节点列表中,拖拽表达式节点到中间画布。

    说明

    将节点拖拽到画布后,请先从上一个节点右侧锚点连线到当前节点的左侧锚点,再进行配置。

    表达式
  2. 选中表达式节点,在右侧配置面板,显示原始字段列表。

    表达式
  3. (可选)根据实际场景需要,修改字段名称数据类型精度小数位、或是否输出

    说明

    仅选中输出复选框的字段,才能用于后续节点配置。

  4. 单击新增字段,在弹出对话框中,根据页面提示,完成字段名称数据类型是否输出表达式配置。

    说明
    • 表达式支持的函数请参见下表,各类型函数之间支持嵌套使用。

    • 表达式中的字段必须使用计算公式列的原始字段。

    • 上报的JSON数据格式,可以是数组或者嵌套的JSON。表达式中支持使用JSONPath获取其中的属性值,例如{a:{key1:v1, key2:v2}},可通过a.key2获取到值v2。使用变量时,需要注意单双引号区别:单引号表示常量,双引号或不加引号表示变量。如使用单引号'a.key2',值为a.key2

      有关JSONPath的更多信息,请参见LanguageManual UDF

    新增字段

    类型

    说明

    数学运算

    加(+)、减(-)、乘(×)、除(÷)、取余(%)。

    日期函数

    • DATEADD:按照指定的单位和幅度修改日期值。

    • DATEDIFF:计算两个日期的差值并按照指定的单位表示。

    • FROM_UNIXTIME:将数字型的UNIX值转换为日期值。

    • GETDATE:获取当前系统时间。

    • ISDATE:判断一个日期字符串能否根据指定的格式串转换为一个日期值。

    • TO_DATE:将指定格式的字符串转换为日期值。

    • TO_CHAR:将日期按照指定格式转换为字符串。

    • UNIX_TIMESTAMP:将日期转换为整型的UNIX格式的日期值。

    • LAST_DAY:返回日期值所在月份的最后一天日期。

    • CURRENT_TIMESTAMP:返回当前TIMESTAMP类型的时间戳。

    • FROM_UTC_TIMESTAMP:将一个UTC时区的时间戳转换成一个指定时区的时间戳。

    数学函数

    • ABS:计算绝对值。

    • ASIN:计算反正弦值。

    • COS:计算余弦值。

    • COSH:计算双曲余弦值。

    • CEIL:计算向上取整值。

    • EXP:计算指数值。

    • FLOOR:计算向下取整值。

    • LOG:计算log对数值。

    • POW:计算幂值。

    • RAND:返回随机数。

    • ROUND:返回四舍五入到指定小数点位置的值。

    • SIN:计算正弦值。

    • SINH:计算双曲正弦值。

    • SQRT:计算平方根。

    • TAN:计算正切值。

    • TANH:计算双曲正切值。

    • TRUNC:返回截取到指定小数点位置的值。

    • HEX:返回整数或字符串的十六进制格式。

    • UNHEX:返回十六进制字符串所代表的字符串。

    • PI:返回π的值。

    字符串函数

    • CHR:将指定ASCII码转换成字符。

    • CONCAT:将参数中的所有字符串连接在一起。

    • GET_JSON_OBJECT:获取JSON字符串中的指定字符串。

    • INSTR:计算子字符串在整个字符串中的位置。

    • BASE64_DECODE:对Base64加密数据,进行Base64解码。

    • LENGTH:返回字符串的长度。

    • LENGTHB:返回字符串以字节为单位的长度。

    • MD5:计算字符串的MD5值。

    • REGEXP_REPLACE:将字符串中指定位置的子字符串替换成新字符串后返回。

    • SPLIT_PART:依照分隔符拆分字符串,返回指定闭区间的子串。

    • SUBSTR:返回字符串从指定位置开始指定长度的子串。

    • TOLOWER:返回英文字符串对应的小写字符串。

    • TOUPPER:返回英文字符串对应的大写字符串。

    • TO_CHAR:将BOOLEAN、BIGINT、DECIMAL或DOUBLE类型转为对应的STRING类型表示。

    • TRIM:去除字符串的左右空格。

    • LTRIM:去除字符串的左空格。

    • RTRIM:去除字符串的有空格。

    • REVERSE:返回倒序字符串。

    • ASCII:返回字符串第一个字符的ASCII码。

    • LPAD:用b字符串将a字符串向左补足到len位。

    • RPAD:用b字符串将a字符串向右补足到len位。

    • REPLACE:将字符串中指定字符串替换为新字符串后返回。

    • URL_ENCODE:将输入字符串编码为application/x-www-form-urlencoded MIME格式。

    • URL_DECODE:将输入字符串从application/x-www-form-urlencoded MIME格式转为正常字符串,是URL_ENCODE的逆过程。

    • ENDSWITH:判断字符串1是否以字符串2结尾。

    • TO_BASE64:将二进制数据转换成对应base64编码的字符串输出。

    其他函数

    • CAST:将表达式的结果转换成目标类型。

    • COALESCE:返回列表中第一个非NULL的值。

    • DECODE:实现if-then-else分支选择的功能。

    • GREATEST:返回输入参数中最大的一个。

    • LEAST:返回输入参数中最小的一个。

    • UUID:返回一个随机ID。

    • CASE WHEN表达式:根据表达式的计算结果,灵活地返回不同的值。

      说明

      该函数中CASE表达式不支持嵌套其他函数。

    • IF表达式:判断指定的条件是否为真。

    • SIZE:返回指定MAP中的K/V对数或ARRAY中的元素数目。

    • NVL:如果传入的value值为NULL,返回default_value的值,否则返回value值。

    • CRYPTO:对指定值进行加密。

    • DEVICENAME:返回当前设备名称。

    • TOPIC:返回Topic分段信息。

    • MESSAGEID:返回物联网平台生成的消息ID。

  5. 配置完成后,单击右上角保存

说明

如需使用表达式中新增字段,继续生产新数据,可继续参照上述步骤,配置多个表达式。

配置筛选器

  1. 从工作台左侧的节点列表中,拖拽筛选器节点到中间画布。

    筛选器
  2. 选中筛选器节点,在右侧配置面板,参照下表,添加筛选条件。

    项目

    说明

    字段

    选择要筛选的字段。

    数据类型

    选择字段后,自动匹配对应的数据类型。该项不可编辑。

    操作符

    可选操作符:≠(不等于)、=(等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、介于。

    筛选值

    输入要筛选的值。

  3. (可选)单击添加且条件后,按照上一步的操作,可添加多个且条件。

  4. 配置完成后,单击确定

后续操作

配置目标定义