tencent cloud

文档反馈

逻辑和数学函数

最后更新时间:2024-01-20 17:59:06

    简介

    逻辑与数学函数,包含了与或非、大于小于等于、加减乘除取模的运算。写起来和我们在程序语言中稍有区别,如下图所示:
    
    

    op_if 函数

    函数定义

    根据条件判断,返回相应的值。

    语法描述

    op_if(条件1,1,2)

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    condition
    条件表达式
    bool
    -
    -
    data1
    条件为 True 时,返回此参数值
    string
    -
    -
    data2
    条件为 False 时,返回此参数值
    string
    -
    -

    示例

    示例1 原始日志:
    {"data": "abc"}
    加工规则:
    fields_set("result", op_if(True, v("data"), "false"))
    加工结果:
    {"result":"abc","data":"abc"}
    示例2 原始日志:
    {"data": "abc"}
    加工规则:
    fields_set("result", op_if(False, v("data"), "123"))
    加工结果:
    {"result":"123","data":"abc"}

    op_and 函数

    函数定义

    对值进行 and 运算,均为 True 时,返回 True,否则返回 False。

    语法描述

    op_and(1,2, ...)

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    可变参列表
    参与计算的参数或表达式
    string
    -
    -

    示例

    示例1 原始日志:
    {}
    加工规则:
    fields_set("result", op_and(True, False))
    加工结果:
    {"result":"false"}
    示例2 原始日志:
    {}
    加工规则:
    fields_set("result", op_and(1, 1))
    加工结果:
    {"result":"true"}
    示例3 原始日志:
    {"data":"false"}
    加工规则:
    fields_set("result", op_and(1, v("data")))
    加工结果:
    {"result":"false","data":"false"}

    op_or 函数

    函数定义

    对值进行 or 运算,若存在参数值为 False 则返回 False,否则返回 True。

    语法描述

    op_or(1,2, ...)

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    可变参列表
    参与计算的参数或表达式
    string
    -
    -

    示例

    原始日志:
    {}
    加工规则:
    fields_set("result", op_or(True, False))
    加工结果:
    {"result":"true"}

    op_not 函数

    函数定义

    对值进行 not 运算。

    语法描述

    op_not()

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    data
    任意类型的值
    any
    -
    -

    示例

    示例1 原始日志:
    {}
    加工规则:
    fields_set("result", op_not(True))
    加工结果:
    {"result":"false"}
    示例2 原始日志:
    {}
    加工规则:
    fields_set("result", op_not("True"))
    加工结果:
    {"result":"false"}

    op_eq 函数

    函数定义

    对值进行比较,相等则返回 True。

    语法描述

    op_eq(1,2)

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    data1
    数值类型的值或可转为数值的字符串
    number
    -
    -
    data2
    数值类型的值或可转为数值的字符串
    number
    -
    -

    示例

    示例1:判断字段 "Post" 和 "Get" 的值是否相等。 原始日志:
    {"Post": "10", "Get": "11"}
    加工规则:
    fields_set("result", op_eq(v("Post"), v("Get")))
    将结果保存到result。 加工结果:
    {"result":"false","Post":"10","Get":"11"}
    示例2:判断字段 "field1" 和 "field2" 的值是否相等。 原始日志:
    {"field1": "1", "field2": "1"}
    加工规则:
    fields_set("result", op_eq(v("field1"), v("field2")))
    加工结果:
    {"result":"true","field1":"1","field2":"1"}

    op_ge 函数

    函数定义

    对值进行比较,值1大于或等于值2时返回 True。

    语法描述

    op_ge(1,2)

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    data1
    数值类型的值或可转为数值的字符串
    number
    -
    -
    data2
    数值类型的值或可转为数值的字符串
    number
    -
    -

    示例

    示例1 原始日志:
    {"field1": "20", "field2": "9"}
    加工规则:
    fields_set("result", op_ge(v("field1"), v("field2")))
    加工结果:
    {"result":"true","field1":"20","field2":"9"}
    示例2 原始日志:
    {"field1": "2", "field2": "2"}
    加工规则:
    fields_set("result", op_ge(v("field1"), v("field2")))
    加工结果:
    {"result":"true","field1":"2","field2":"2"}

    op_gt 函数

    函数定义

    对值进行比较,值1大于值2时返回 True。

    语法描述

    op_gt(1,2)

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    data1
    数值类型的值或可转为数值的字符串
    number
    -
    -
    data2
    数值类型的值或可转为数值的字符串
    number
    -
    -

    示例

    原始日志:
    {"field1": "20", "field2": "9"}
    加工规则:
    fields_set("result", op_ge(v("field1"), v("field2")))
    加工结果:
    {"result":"true","field1":"20","field2":"9"}

    op_le 函数

    函数定义

    对值进行比较,值1小于或等于值2时返回 True。

    语法描述

    op_le(1,2)

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    data1
    数值类型的值或可转为数值的字符串
    number
    -
    -
    data2
    数值类型的值或可转为数值的字符串
    number
    -
    -

    示例

    原始日志:
    {"field1": "2", "field2": "2"}
    加工规则:
    fields_set("result", op_le(v("field1"), v("field2")))
    加工结果:
    {"result":"true","field1":"2","field2":"2"}

    op_lt 函数

    函数定义

    对值进行比较,值1小于值2时返回 True。

    语法描述

    op_lt(1,2)

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    data1
    数值类型的值或可转为数值的字符串
    number
    -
    -
    data2
    数值类型的值或可转为数值的字符串
    number
    -
    -

    示例

    原始日志:
    {"field1": "2", "field2": "3"}
    加工规则:
    fields_set("result", op_lt(v("field1"), v("field2")))
    加工结果:
    {"result":"true","field1":"2","field2":"3"}

    op_add 函数

    函数定义

    对值进行求和运算。

    语法描述

    op_add(1,2)

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    data1
    数值类型的值或可转为数值的字符串
    number
    -
    -
    data2
    数值类型的值或可转为数值的字符串
    number
    -
    -

    示例

    原始日志:
    {"field1": "1", "field2": "2"}
    加工规则:
    fields_set("result", op_add(v("field1"), v("field2")))
    加工结果:
    {"result":"3","field1":"1","field2":"2"}

    op_sub 函数

    函数定义

    对值进行求差运算。

    语法描述

    op_sub(值1, 值2)

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    data1
    数值类型的值或可转为数值的字符串
    number
    -
    -
    data2
    数值类型的值或可转为数值的字符串
    number
    -
    -

    示例

    原始日志:
    {"field1": "1", "field2": "2"}
    加工规则:
    fields_set("result", op_sub(v("field1"), v("field2")))
    加工结果:
    {"result":"-1","field1":"1","field2":"2"}

    op_mul 函数

    函数定义

    对值进行乘积运算。

    语法描述

    op_mul(1,2)

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    data1
    数值类型的值或可转为数值的字符串
    number
    -
    -
    data2
    数值类型的值或可转为数值的字符串
    number
    -
    -

    示例

    原始日志:
    {"field1": "1", "field2": "2"}
    加工规则:
    fields_set("result", op_mul(v("field1"), v("field2")))
    加工结果:
    {"result":"2","field1":"1","field2":"2"}

    op_div 函数

    函数定义

    对值进行除法运算。

    语法描述

    op_div(1,2)

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    data1
    数值类型的值或可转为数值的字符串
    number
    -
    -
    data2
    数值类型的值或可转为数值的字符串
    number
    -
    -

    示例

    示例1 原始日志:
    {"field1": "1", "field2": "2"}
    加工规则:
    fields_set("result", op_div(v("field1"), v("field2")))
    加工结果:
    {"result":"0","field1":"1","field2":"2"}
    示例2 原始日志:
    {"field1": "1.0", "field2": "2"}
    加工规则:
    fields_set("result", op_div(v("field1"), v("field2")))
    加工结果:
    {"result":"0.5","field1":"1.0","field2":"2"}

    op_sum 函数

    函数定义

    对多值累加求和。

    语法描述

    op_sum(1,2, ...)

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    可变参列表
    数值类型的值或可转为数值的字符串
    string
    -
    -

    示例

    原始日志:
    {"field1": "1.0", "field2": "10"}
    加工规则:
    fields_set("result", op_sum(v("field1"), v("field2")))
    加工结果:
    {"result":"11.0","field1":"1.0","field2":"10"}

    op_mod 函数

    函数定义

    对值进行模计算。

    语法描述

    op_mod(1,2)

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    data1
    数值类型的值或可转为数值的字符串
    number
    -
    -

    示例

    示例1 原始日志:
    {"field1": "1.0", "field2": "0"}
    加工规则:
    fields_set("result", op_mod(v("field1"), v("field2")))
    加工结果:
    {"result":"2","field1":"1","field2":"2"}
    示例2 原始日志:
    {"field1": "1.0", "field2": "5"}
    加工规则:
    fields_set("result", op_mod(v("field1"), v("field2")))
    加工结果:
    {"result":"1.0","field1":"1.0","field2":"5"}
    示例3 原始日志:
    {"field1": "6", "field2": "4"}
    加工规则:
    fields_set("result", op_mod(v("field1"), v("field2")))
    加工结果:
    {"result":"2","field1":"6","field2":"4"}

    op_null 函数

    函数定义

    对值进行是否为 null 判断,是则返回 true,否则返回 false。

    语法描述

    op_null()

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    data
    任意类型的值
    any
    -
    -

    示例

    示例1 原始日志:
    {}
    加工规则:
    fields_set("result", op_null("null"))
    加工结果:
    {"result":"true"}
    示例2 原始日志:
    {"data": null}
    加工规则:
    fields_set("result", op_null(v("data")))
    加工结果:
    {"data": "null", "result":"true"}

    op_notnull 函数

    函数定义

    对值进行是否为非 null 判断,是则返回 true,否则返回 false。

    语法描述

    op_notnull()

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    data
    任意类型的值
    any
    -
    -

    示例

    示例1 原始日志:
    {}
    加工规则:
    fields_set("result", op_notnull("null"))
    加工结果:
    {"result":"false"}
    示例2 原始日志:
    {"data": null}
    加工规则:
    fields_set("result", op_notnull(v("data")))
    加工结果:
    {"data": "null", "result":"false"}

    op_str_eq 函数

    函数定义

    对字符串值进行比较,相等则返回 true。

    语法描述

    op_str_eq(值1, 值2, ignore_upper=False)

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    data1
    字符串类型的值
    string
    -
    -
    data2
    字符串类型的值
    string
    -
    -
    ignore_upper
    是否区分大小写
    bool
    False
    -

    示例

    示例1 原始日志:
    {"field": "cls"}
    加工规则:
    fields_set("result", op_str_eq(v("field"), "cls"))
    加工结果:
    {"result":"true","field":"cls"}
    示例2 原始日志:
    {"field": "cls"}
    加工规则:
    fields_set("result", op_str_eq(v("field"), "etl|cls|data"))
    加工结果:
    {"result":"true","field":"cls"}
    示例3 原始日志:
    {"field": "CLS"}
    加工规则:
    fields_set("result", op_str_eq(v("field"), "cls", ignore_upper=True))
    加工结果:
    {"result":"true","field":"CLS"}
    示例4 原始日志:
    {"field": "CLS"}
    加工规则:
    fields_set("result", op_str_eq(v("field"), "etl|cls|data", ignore_upper=True))
    加工结果:
    {"result":"true","field":"CLS"}

    random 函数

    函数定义

    生成随机数(两个参数之间的一个随机数),左闭右闭。

    语法描述

    random(值1, 值2)

    参数说明

    参数名称
    参数描述
    参数类型
    是否必须
    参数默认值
    参数取值范围
    data1
    数值类型的值或可转为数值的字符串
    number
    -
    -
    data2
    数值类型的值或可转为数值的字符串
    number
    -
    -

    示例

    示例1 原始日志:
    {"field1": "1"}
    加工规则:
    log_keep(op_eq(random(1, 5), 3))
    加工结果:
    {"field1": "1"}
    示例2 原始日志:
    {"field1": "1"}
    加工规则:
    fields_set("field2", random(1, 5))
    加工结果:
    {"field1":"1", "field2":"4"}
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持