1. median 函数说明

[TOC]

1.1. 文档说明

用于描述block statistics 中用于统计的函数median的使用说明以及实现逻辑

1.2. 修订记录

日期 文档版本 增加/修订内容 程序版本要求
2021-07-13 R1 第一次添加文档说明 >= 6.1.0

1.3. 函数解释

median 函数用于统计周期内的中位数

  • 中位数的统计按照以下逻辑进行

    • 将统计周期内的一组数据按照从小到大进行排序,将非数字类型的值剔除掉
    • 如果数组长度是奇数个,直接查找中间位置的值并返回
    • 如果数组长度是偶数个,则取出中间位置的两个数值做平均数运算
  • 简单举例

    
        1 2 3 4 5 6  -> (3 + 4) / 2 = 3.5
        1 2 3 4 5 -> 3
        1 3 2 4 5 -> 3
        1 3 a 4 5 -> (3 + 4) / 2 = 3.5
        a a a a a -> 没有输出
    
  • 中位数解释参考

1.3.1. 数据来源

数据来源全部来自统计对代理的订阅

1.3.2. 数据约束

  • 必须是数字(包含浮点和整数)类型,例如{"S01":1.234}
  • 如果要统计非数字类型,会尝试强制转换为数字类型,转换失败,则当前数据包丢弃,不做统计

  • 举例说明

    • 脚本

      {
        "schedule": {
          "spec": "0 */1 * * * *"
        },
        "key":"S01",
        "func":"median",
        "result":{
          "precision":1
        }
      }
      
    • 数据样本

      • 值为数字的字符串类型
      time                        value
      ---                         ----
      2021-07-13T09:00:00     {"S01":"1"}
      2021-07-13T09:00:01     {"S01":"2"}
      2021-07-13T09:00:02     {"S01":"3"}
      2021-07-13T09:00:03     {"S01":"4"}
      ...                         ...
      2021-07-13T09:00:59     {"S01":"59"}
      

      统计周期范围2021-07-13T09:00:002021-07-13T10:00:00integral 值为 30

      • 数字类型
      time                        value
      ---                         ----
      2021-07-13T09:00:00     {"S01":1}
      2021-07-13T09:00:01     {"S01":2}
      2021-07-13T09:00:02     {"S01":3}
      2021-07-13T09:00:03     {"S01":4}
      ...                         ...
      2021-07-13T09:00:59     {"S01":59}
      

      统计周期范围2021-07-13T09:00:002021-07-13T10:00:00integral 值为 30

      • 值为非数字的字符串类型
      time                        value
      ---                         ----
      2021-07-13T09:00:00     {"S01":"a"}
      2021-07-13T09:01:00     {"S01":"b"}
      2021-07-13T09:02:00     {"S01":"c"}
      2021-07-13T09:03:00     {"S01":"d"}
      2021-07-13T09:04:00     {"S01":"e"}
      ...                         ...
      2021-07-13T09:59:59     {"S01":"f"}
      

      统计周期范围2021-07-13T09:00:002021-07-13T10:00:00 内没有结果输出

      • 数字类型、值为数字的字符串类型、值为非数字的字符串类型的组合
      time                        value
      ---                         ----
      2021-07-13T09:00:00     {"S01":"a"}
      2021-07-13T09:01:00     {"S01":"1"}
      2021-07-13T09:02:00     {"S01":"c"}
      2021-07-13T09:03:00     {"S01":"d"}
      2021-07-13T09:04:00     {"S01":9}
      ...                         ...
      2021-07-13T09:59:59     {"S01":"10"}
      

      统计周期范围2021-07-13T09:00:002021-07-13T10:00:00median 值为 9

© Mixlinker all right reserved,powered by Gitbook文件修订时间: 2022-03-10 10:36:39

results matching ""

    No results matching ""

    results matching ""

      No results matching ""