Freigeben über


series_clean_anomalies_fl()

Gilt für: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Bereinigt anomale Punkte in einer Datenreihe.

Die Funktion series_clean_anomalies_fl() ist eine benutzerdefinierte Funktion (UDF), die ein dynamisches numerisches Array als Eingabe und ein anderes numerisches Array von Anomalien verwendet und die Anomalien im Eingabearray durch interpolierten Wert ihrer angrenzenden Punkte ersetzt.

Syntax

series_clean_anomalies_fl(, y_series Anomalien)

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich Beschreibung
y_series dynamic ✔️ Das Eingabearray numerischer Werte.
Anomalien dynamic ✔️ Das Anomaliearray, das entweder 0 für normale Punkte oder einen anderen Wert für anomale Punkte enthält.

Funktionsdefinition

Sie können die Funktion definieren, indem Sie den Code entweder als abfragedefinierte Funktion einbetten oder wie folgt als gespeicherte Funktion in Ihrer Datenbank erstellen:

Definieren Sie die Funktion mithilfe der folgenden Let-Anweisung. Es sind keine Berechtigungen erforderlich.

Wichtig

Eine Let-Anweisung kann nicht alleine ausgeführt werden. Auf sie muss eine tabellarische Ausdrucksanweisung folgen. Informationen zum Ausführen eines funktionierenden Beispiels series_clean_anomalies_fl()finden Sie unter Beispiel.

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.

Beispiel

Um eine abfragedefinierte Funktion zu verwenden, rufen Sie sie nach der definition der eingebetteten Funktion auf.

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)

Output

Diagramm einer Zeitreihe mit Anomalien vor und nach der Reinigung.