series_clean_anomalies_fl()

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

清理序列中的异常点。

函数 series_clean_anomalies_fl()用户定义的函数 (UDF),它采用动态数值数组作为输入和另一个异常数值数组,并将输入数组中的异常替换为相邻点的内插值。

语法

series_clean_anomalies_fl(y_series, anomalies)

详细了解语法约定

参数

客户 类型​​ 必需 说明
y_series dynamic ✔️ 数值的输入数组。
异常 dynamic ✔️ 异常数组包含 0(表示正常点)或表示异常点的任何其他值。

函数定义

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

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

重要

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

let series_clean_anomalies_fl = (y_series:dynamic, anomalies:dynamic)
{
    let fnum = array_iff(series_not_equals(anomalies, 0), real(null), y_series);  //  replace anomalies with null values
    series_fill_linear(fnum)
};
// Write your query to use the function here.

示例

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

let series_clean_anomalies_fl = (y_series:dynamic, anomalies:dynamic)
{
    let fnum = array_iff(series_not_equals(anomalies, 0), real(null), y_series);  //  replace anomalies with null values
    series_fill_linear(fnum)
}
;
let min_t = datetime(2016-08-29);
let max_t = datetime(2016-08-31);
demo_make_series1
| make-series num=count() on TimeStamp from min_t to max_t step 20m by OsVer
| extend anomalies = series_decompose_anomalies(num, 0.8)
| extend num_c = series_clean_anomalies_fl(num, anomalies)
| render anomalychart with (anomalycolumns=anomalies)

输出

清理前和清理后带有异常的时序图。