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 = (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
输出