Share via


series_lag_fl()

Applica un ritardo su una serie.

La funzione è una funzione series_lag_fl()definita dall'utente che accetta un'espressione contenente una matrice numerica dinamica come input e lo sposta all'indietro. Viene comunemente usato per lo spostamento di serie temporali per verificare se un modello è nuovo o corrisponde ai dati cronologici.

Sintassi

series_lag_fl(, y_seriescompensare)

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Tipo Obbligatoria Descrizione
y_series dynamic ✔️ Cella matrice di valori numerici.
offset int ✔️ Intero che specifica l'offset richiesto nei bin.

Definizione di funzione

È possibile definire la funzione incorporando il codice come funzione definita da query o creandola come funzione archiviata nel database, come segue:

Definire la funzione usando l'istruzione let seguente. Non sono necessarie autorizzazioni.

Importante

Un'istruzione let non può essere eseguita autonomamente. Deve essere seguito da un'istruzione espressione tabulare. Per eseguire un esempio funzionante di series_lag_fl(), vedere Esempio.

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.

Esempio

Per usare una funzione definita da query, richiamarla dopo la definizione di funzione incorporata.

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

Grafico di una serie temporale spostata di un giorno.