Udostępnij za pośrednictwem


series_lag_fl()

Stosuje opóźnienie w serii.

Funkcja series_lag_fl() jest funkcją zdefiniowaną przez użytkownika (UDF), która przyjmuje wyrażenie zawierające dynamiczną tablicę liczbową jako dane wejściowe i przesuwa je do tyłu. Jest on często używany do przesuwania szeregów czasowych w celu sprawdzenia, czy wzorzec jest nowy, czy pasuje do danych historycznych.

Składnia

series_lag_fl(, y_seriesPrzesunięcie)

Dowiedz się więcej o konwencjach składniowych.

Parametry

Nazwa Typ Wymagane Opis
y_series dynamic ✔️ Komórka tablicowa wartości liczbowych.
Przesunięcie int ✔️ Liczba całkowita określająca wymagane przesunięcie w pojemnikach.

Definicja funkcji

Funkcję można zdefiniować, osadzając jej kod jako funkcję zdefiniowaną przez zapytanie lub tworząc ją jako funkcję przechowywaną w bazie danych w następujący sposób:

Zdefiniuj funkcję przy użyciu następującej instrukcji let. Nie są wymagane żadne uprawnienia.

Ważne

Instrukcja let nie może być uruchamiana samodzielnie. Po nim musi znajdować się instrukcja wyrażenia tabelarycznego. Aby uruchomić działający przykład series_lag_fl()polecenia , zobacz Przykład.

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.

Przykład

Aby użyć funkcji zdefiniowanej przez zapytanie, wywołaj ją po definicji funkcji osadzonej.

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

Dane wyjściowe

Wykres szeregu czasowego przesunięty o jeden dzień.