本文档介绍逻辑表达式函数的语法与格式、相关的场景示例等。
根据判断结果返回表达式。如果条件为 true,返回第一个表达式的值;false 则返回第二个表达式值。
op_if(condition,expression1,expression2)
参数说明如下:
参数 | 参数类型 | 是否必选 | 默认值 | 取值范围 | 说明 |
---|---|---|---|---|---|
condition | Boolean | 是 | / | / | 结果为 BOOL 的值或者表达式。 |
expression1 | 任意 | 是 | / | / | 条件结果为 True 时返回的表达式。 |
expression2 | 任意 | 是 | / | / | 条件结果为 False 时返回的表达式。 |
函数示例 1:
场景:如果 weather
字段非空,则返回 good day。
加工规则:
f_set("op_if",op_if(v("weather"),"good day","bad day"))
日志样例:
{ "weather": "sunny" }
加工结果:
{ "weather": "sunny", "op_if": "good day" }
函数示例 2:
场景:如果条件为 False,则返回 bad day。
加工规则:
f_set("op_if",op_if(False,"good day","bad day"))
日志样例:
{ "weather": "sunny" }
加工结果:
{ "weather": "sunny", "op_if": "bad day" }
逻辑与运算。可指定多个条件,所有条件均为真时,结果返回 True。
op_and(value1,value2...)
参数说明如下:
参数 | 参数类型 | 是否必选 | 默认值 | 取值范围 | 说明 |
---|---|---|---|---|---|
value1 | 任意类型 | 是 | / | / | 待计算的值,非布尔类型将被转换为布尔类型,例如字符串、数值、字典和列表转换为布尔,如果非空则为真,否则为假。 |
函数示例 1:
场景:weather
、date
字段非空,则返回 True。
加工规则:
f_set("op_and",op_and(v("weather"),v("date"))
日志样例:
{ "weather": "sunny", "date": "2000-08-09" }
加工结果:
{ "weather": "sunny", "date": "2000-08-09", "op_and": "True" }
函数示例 2:
场景:weather
、date
字段非空,location
为空,则返回 False。
加工规则:
f_set("op_and",op_and(v("weather"),v("date"),v("location"))
日志样例:
{ "weather": "sunny", "date": "2000-08-09" }
加工结果:
{ "weather": "sunny", "date": "2000-08-09", "op_and": "False" }
逻辑或运算。逻辑或运算,参数可变,多个条件有一个为真结果返回 True,全为假返回 False。
op_or(value1,value2...)
参数说明如下:
参数 | 参数类型 | 是否必选 | 默认值 | 取值范围 | 说明 |
---|---|---|---|---|---|
value | 任意类型 | 是 | / | / | 待计算的值,非布尔类型将被转换为布尔类型,字符串、数值、字典和列表转换为布尔,如果非空则为真,否则为假。 |
函数示例 1:
场景:weather
、date
字段有一个非空,则返回 True。
加工规则:
f_set("op_or",op_or(v("weather"),v("date"))
日志样例:
{ "weather": "sunny", "date": "2000-08-09" }
加工结果:
{ "weather": "sunny", "date": "2000-08-09", "op_or": "True" }
函数示例 2:
场景:time
、location
字段都为空,返回 False。
加工规则:
f_set("op_or",op_or(v("time"),v("location"))
日志样例:
{ "weather": "sunny", "date": "2000-08-09" }
加工结果:
{ "weather": "sunny", "date": "2000-08-09", "op_or": "False" }
逻辑非运算。value 结果为真结果返回 False,为假返回 True。
op_not(value)
参数说明如下:
参数 | 参数类型 | 是否必选 | 默认值 | 取值范围 | 说明 |
---|---|---|---|---|---|
value | 任意类型 | 是 | / | / | 待计算的值,非布尔类型将被转换为布尔类型,字符串、数值、字典和列表转换为布尔,如果非空则为真,否则为假。 |
函数示例 1:
场景:weather
非空,则返回 False。
加工规则:
f_set("op_not",op_not(v("weather"))
日志样例:
{ "weather": "sunny", "date": "2000-08-09" }
加工结果:
{ "weather": "sunny", "date": "2000-08-09", "op_not": "False" }
函数示例 2:
场景:location
字段为空,返回 True。
加工规则:
f_set("op_not",op_not(v("location"))
日志样例:
{ "weather": "sunny", "date": "2000-08-09" }
加工结果:
{ "weather": "sunny", "date": "2000-08-09", "op_or": "True" }
逻辑等于。如果 value1 和 value2 的值相等,返回 True,否则返回 False。
op_eq(value1,value2)
参数说明如下:
参数 | 参数类型 | 是否必选 | 默认值 | 取值范围 | 说明 |
---|---|---|---|---|---|
value | String 或者 Number | 是 | / | / | 待比较的值。 |
函数示例 1:
场景:weather
和 mind
字段相同,返回 True。
加工规则:
f_set("op_eq",op_eq(v("weather"),v("mind"))
日志样例:
{ "weather": "sunny", "mind": "sunny" }
加工结果:
{ "weather": "sunny", "mind": "sunny", "op_eq": "True" }
函数示例 2:
场景:price
和 speed
字段数值相同,返回 True。
加工规则:
f_set("op_eq",op_eq(v("price"),v("speed"))
日志样例:
{ "price": "60", "speed": "60" }
加工结果:
{ "price": "60", "speed": "60", "op_eq": "True" }
大于等于运算。value1 大于等于 value2 时返回 True,否则返回 False。
op_gt(value1,value2)
参数说明如下:
参数 | 参数类型 | 是否必选 | 默认值 | 取值范围 | 说明 |
---|---|---|---|---|---|
value1 | Number | 是 | / | / | 待比较的值。 |
value2 | Number | 是 | / | / | 待比较的值。 |
函数示例 1:
场景:speed 数值大于 price,返回 True。
加工规则:
f_set("op_ge",op_ge(v("speed"),v("price"))
日志样例:
{ "speed": "60", "price": "20", "op_ge": "True" }
加工结果:
{ "speed": "60", "price": "20", "op_ge": "True" }
函数示例 2:
场景:hour 数值小于 price,返回 False。
加工规则:
f_set("op_ge",op_ge(v("hour"),v("price"))
日志样例:
{ "hour": "10", "price": "20" }
加工结果:
{ "hour": "10", "price": "20", "op_ge": "False" }
大于运算。value1 大于 value2 时返回 True,否则返回 False。
op_gt(value1,value2)
参数说明如下:
参数 | 参数类型 | 是否必选 | 默认值 | 取值范围 | 说明 |
---|---|---|---|---|---|
value1 | Number | 是 | / | / | 待比较的值。 |
value2 | Number | 是 | / | / | 待比较的值。 |
函数示例 1:
场景:speed 数值大于 price,返回 True。
加工规则:
f_set("op_gt",op_gt(v("speed"),v("price"))
日志样例:
{ "speed": "60", "price": "20" }
加工结果:
{ "speed": "60", "price": "20", "op_gt": "True" }
函数示例 2:
场景:hour 数值小于 price,返回 False。
加工规则:
f_set("op_gt",op_gt(v("hour"),v("price"))
日志样例:
{ "hour": "10", "price": "20" }
加工结果:
{ "hour": "10", "price": "20", "op_gt": "False" }
小于等于运算,value1 小于等于 value2 时返回 True,否则返回 False。
op_le(value1,value2)
参数说明如下:
参数 | 参数类型 | 是否必选 | 默认值 | 取值范围 | 说明 |
---|---|---|---|---|---|
value1 | Number | 是 | / | / | 待比较的值。 |
value2 | Number | 是 | / | / | 待比较的值。 |
场景:speed 数值小于 price,返回 False。
加工规则:
f_set("op_le",op_le(v("speed"),v("price"))
日志样例:
{ "speed": "60", "price": "20" }
加工结果:
{ "speed": "60", "price": "20", "op_lt": "False" }
小于运算。value1 小于 value2 时返回 True,否则返回 False。
op_lt(value1,value2)
参数说明如下:
参数 | 参数类型 | 是否必选 | 默认值 | 取值范围 | 说明 |
---|---|---|---|---|---|
value1 | Number | 是 | / | / | 待比较的值。 |
value2 | Number | 是 | / | / | 待比较的值。 |
场景:speed 数值小于 price,返回 False。
加工规则:
f_set("op_lt",op_lt(v("speed"),v("price"))
日志样例:
{ "speed": "60", "price": "20" }
加工结果:
{ "speed": "60", "price": "20", "op_lt": "False" }