1. avg 函数说明
[TOC]
1.1. 文档说明
用于描述block
statistics
中用于统计的函数avg
的使用说明以及实现逻辑
1.2. 修订记录
日期 | 文档版本 | 增加/修订内容 | 程序版本要求 |
---|---|---|---|
2021-07-13 | R1 | 第一次添加文档说明 | >= 6.1.0 |
1.3. 函数解释
avg
函数用于统计周期
内的算术平均
1.3.1. 数据来源
数据来源全部来自统计对代理的订阅
1.3.2. 数据约束
- 必须是
数字(包含浮点和整数)类型
,例如{"S01":1.234}
如果要统计非数字类型,会尝试强制转换为数字类型,转换失败,则当前数据包丢弃,不做统计
举例说明
脚本
{ "schedule": { "spec": "0 0 */1 * * *" }, "key":"S01", "func":"avg" }
数据样本
- 值为数字的字符串类型
time value --- ---- 2021-07-13T09:01:00 {"S01":"1"} 2021-07-13T09:02:00 {"S01":"2"} 2021-07-13T09:03:00 {"S01":"3"} 2021-07-13T09:04:00 {"S01":"4"} 2021-07-13T09:05:00 {"S01":"5"} ... ... 2021-07-13T09:59:59 {"S01":"59"}
统计周期范围
2021-07-13T09:00:00
到2021-07-13T10:00:00
的avg
值为 (1+2+3+...+59) / 59 = 30- 数字类型
time value --- ---- 2021-07-13T09:01:00 {"S01":1} 2021-07-13T09:02:00 {"S01":2} 2021-07-13T09:03:00 {"S01":3} 2021-07-13T09:04:00 {"S01":4} 2021-07-13T09:05:00 {"S01":5} ... ... 2021-07-13T09:59:59 {"S01":59}
统计周期范围
2021-07-13T09:00:00
到2021-07-13T10:00:00
的avg
值为 (1+2+3+...+59) = 1770 / 59 = 30- 值为非数字的字符串类型
time value --- ---- 2021-07-13T09:01:00 {"S01":"a"} 2021-07-13T09:02:00 {"S01":"b"} 2021-07-13T09:03:00 {"S01":"c"} 2021-07-13T09:04:00 {"S01":"d"} 2021-07-13T09:05:00 {"S01":"e"} ... ... 2021-07-13T09:59:59 {"S01":"f"}
统计周期范围
2021-07-13T09:00:00
到2021-07-13T10:00:00
内没有结果输出- 数字类型、值为数字的字符串类型、值为非数字的字符串类型的组合
time value --- ---- 2021-07-13T09:01:00 {"S01":"a"} 2021-07-13T09:02:00 {"S01":"1"} 2021-07-13T09:03:00 {"S01":"c"} 2021-07-13T09:04:00 {"S01":"4"} 2021-07-13T09:05:00 {"S01": 9} 2021-07-13T09:59:59 {"S01":"10"}
统计周期范围
2021-07-13T09:00:00
到2021-07-13T10:00:00
的avg
值为 (1+4+9+10) / 4 = 6