# MovingAverage

# 函数简介

本函数计算序列的移动平均。

函数名: MOVINGAVERAGE

输入序列: 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。

参数:

  • n:移动窗口的长度。

输出序列:输出单个序列,类型为DOUBLE。

# 使用示例

# 指定窗口长度

输入序列:

+-----------------------------+------------+
|                         Time|root.test.s1|
+-----------------------------+------------+
|1970-01-01T08:00:00.100+08:00|         0.0|
|1970-01-01T08:00:00.200+08:00|         0.0|
|1970-01-01T08:00:00.300+08:00|         1.0|
|1970-01-01T08:00:00.400+08:00|        -1.0|
|1970-01-01T08:00:00.500+08:00|         0.0|
|1970-01-01T08:00:00.600+08:00|         0.0|
|1970-01-01T08:00:00.700+08:00|        -2.0|
|1970-01-01T08:00:00.800+08:00|         2.0|
|1970-01-01T08:00:00.900+08:00|         0.0|
|1970-01-01T08:00:01.000+08:00|         0.0|
|1970-01-01T08:00:01.100+08:00|         1.0|
|1970-01-01T08:00:01.200+08:00|        -1.0|
|1970-01-01T08:00:01.300+08:00|        -1.0|
|1970-01-01T08:00:01.400+08:00|         1.0|
|1970-01-01T08:00:01.500+08:00|         0.0|
|1970-01-01T08:00:01.600+08:00|         0.0|
|1970-01-01T08:00:01.700+08:00|        10.0|
|1970-01-01T08:00:01.800+08:00|         2.0|
|1970-01-01T08:00:01.900+08:00|        -2.0|
|1970-01-01T08:00:02.000+08:00|         0.0|
+-----------------------------+------------+

用于查询的SQL语句:

select movingaverage(s1, "n"="3") from root.test

输出序列:

+-----------------------------+------------------------------------+
|                         Time|movingaverage(root.test.s1, "n"="3")|
+-----------------------------+------------------------------------+
|1970-01-01T08:00:00.300+08:00|                  0.3333333333333333|
|1970-01-01T08:00:00.400+08:00|                                 0.0|
|1970-01-01T08:00:00.500+08:00|                 -0.3333333333333333|
|1970-01-01T08:00:00.600+08:00|                                 0.0|
|1970-01-01T08:00:00.700+08:00|                 -0.6666666666666666|
|1970-01-01T08:00:00.800+08:00|                                 0.0|
|1970-01-01T08:00:00.900+08:00|                  0.6666666666666666|
|1970-01-01T08:00:01.000+08:00|                                 0.0|
|1970-01-01T08:00:01.100+08:00|                  0.3333333333333333|
|1970-01-01T08:00:01.200+08:00|                                 0.0|
|1970-01-01T08:00:01.300+08:00|                 -0.6666666666666666|
|1970-01-01T08:00:01.400+08:00|                                 0.0|
|1970-01-01T08:00:01.500+08:00|                  0.3333333333333333|
|1970-01-01T08:00:01.600+08:00|                                 0.0|
|1970-01-01T08:00:01.700+08:00|                  3.3333333333333335|
|1970-01-01T08:00:01.800+08:00|                                 4.0|
|1970-01-01T08:00:01.900+08:00|                                 0.0|
|1970-01-01T08:00:02.000+08:00|                 -0.6666666666666666|
+-----------------------------+------------------------------------+