series_clean_anomalies_fl()
清理序列中的异常点。
函数 series_clean_anomalies_fl()
是用户定义的函数 (UDF),它采用动态数值数组作为输入和另一个异常数值数组,并将输入数组中的异常替换为相邻点的内插值。
语法
series_clean_anomalies_fl(
y_series,
anomalies)
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
y_series | dynamic |
✔️ | 数值的输入数组。 |
异常 | dynamic |
✔️ | 异常数组包含 0(表示正常点)或表示异常点的任何其他值。 |
函数定义
可以通过将函数的代码嵌入为查询定义的函数,或将其创建为数据库中的存储函数来定义函数,如下所示:
使用以下 let 语句定义函数。 不需要任何权限。
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)
输出