series_moving_avg_fl()

对序列应用移动平均滤波器。

函数 series_moving_avg_fl() 是一个用户定义的函数 (UDF),它接受一个包含动态数值数组的表达式作为输入,并对其应用简单移动平均滤波器。

语法

series_moving_avg_fl(y_series,n [,center ])

详细了解语法约定

参数

客户 类型​​ 必需 说明
y_series dynamic 数值的数组单元。
n int 移动平均滤波器的宽度。
center bool 指示移动平均线是对称地应用于当前点之前和之后的窗口,还是应用于从当前点向后的窗口。 默认情况下,center 为 false

函数定义

可以通过将函数的代码嵌入为查询定义的函数,或将其创建为数据库中的存储函数来定义函数,如下所示:

使用以下 let 语句定义函数。 不需要任何权限。

重要

let 语句不能独立运行。 它必须后跟一个表格表达式语句。 若要运行 series_moving_avg_fl() 的工作示例,请参阅示例

let series_moving_avg_fl = (y_series:dynamic, n:int, center:bool=false)
{
    series_fir(y_series, repeat(1, n), true, center)
};
// Write your query to use the function here.

示例

以下示例使用 invoke 运算符运行函数。

若要使用查询定义的函数,请在嵌入的函数定义后调用它。

let series_moving_avg_fl = (y_series:dynamic, n:int, center:bool=false)
{
    series_fir(y_series, repeat(1, n), true, center)
};
//
//  Moving average of 5 bins
//
demo_make_series1
| make-series num=count() on TimeStamp step 1h by OsVer
| extend num_ma=series_moving_avg_fl(num, 5, True)
| render timechart 

输出

Graph depicting moving average of 5 bins.