次の方法で共有


series_clean_anomalies_fl()

系列内の異常なポイントをクリーンアップします。

関数 series_clean_anomalies_fl() は、動的な数値配列を入力として受け取り、別の数値配列の異常を受け取り、入力配列内の異常を隣接するポイントの補間値に置き換える、 ユーザー定義関数 (UDF) です。

構文

series_clean_anomalies_fl(y_series, の異常)

構文規則について詳しく知る。

パラメーター

件名 タイプ Required 説明
y_series dynamic ✔️ 数値の入力配列。
異常 dynamic ✔️ 通常のポイントの場合は 0、異常なポイントの場合は他の値を含む anomalies 配列。

関数定義

関数を定義するには、次のようにコードをクエリ定義関数として埋め込むか、データベースに格納された関数として作成します。

次の let ステートメントを使用して関数を定義。 権限は必要ありません。

重要

let ステートメント単独では実行できません。 その後に 表形式の式ステートメントが続く必要がありますseries_clean_anomalies_fl()の動作例を実行するには、Exampleを参照してください。

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)

出力

クリーニングの前後に異常がある時系列のグラフ。