Freigeben über


series_lag_fl()

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

Wendet eine Verzögerung auf eine Datenreihe an.

Die Funktion series_lag_fl() ist eine benutzerdefinierte Funktion (UDF), die einen Ausdruck verwendet, der ein dynamisches numerisches Array als Eingabe enthält und ihn rückwärts verschiebt. Es wird häufig zum Verschieben von Zeitreihen verwendet, um zu testen, ob ein Muster neu ist oder ob es sich um historische Daten handelt.

Syntax

series_lag_fl(, y_series Offset)

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich Beschreibung
y_series dynamic ✔️ Eine Arrayzelle mit numerischen Werten.
offset int ✔️ Eine ganze Zahl, die den erforderlichen Offset in Behältern angibt.

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_lag_fl()finden Sie unter Beispiel.

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.

Beispiel

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

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

Output

Diagramm einer Zeitreihe, die um einen Tag verschoben wird.