series_lag_fl()

适用于:✅Azure 数据资源管理器Azure MonitorMicrosoft Sentinel

对序列应用滞后。

函数 series_lag_fl() 是一个用户定义的函数 (UDF),它接受一个包含动态数值数组的表达式作为输入,并将其向后移动。 它通常用于移动时序,以测试模式是新模式还是与历史数据匹配。

语法

series_lag_fl(y_series, offset)

详细了解语法约定

参数

客户 类型​​ 必需 说明
y_series dynamic ✔️ 数值的数组单元。
offset int ✔️ 一个整数,指定箱中所需的偏移。

函数定义

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

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

重要

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

let series_lag_fl = (series:dynamic, offset:int)
{
    let lag_f = toscalar(range x from 1 to offset+1 step 1
    | project y=iff(x == offset+1, 1, 0)
    | summarize lag_filter = make_list(y));
    fir(series, lag_f, false)
};
// Write your query to use the function here.

示例

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

let series_lag_fl = (series:dynamic, offset:int)
{
    let lag_f = toscalar(range x from 1 to offset+1 step 1
    | project y=iff(x == offset+1, 1, 0)
    | summarize lag_filter = make_list(y));
    fir(series, lag_f, false)
};
let dt = 1h;
let time_shift = 1d;
let bins_shift = toint(time_shift/dt);
demo_make_series1
| make-series num=count() on TimeStamp step dt by OsVer
| extend num_shifted=series_lag_fl(num, bins_shift)
| render timechart

输出

移动一天的时序图。