Delen via


series_lag_fl()

Past een vertraging toe op een reeks.

De functie series_lag_fl() is een door de gebruiker gedefinieerde functie (UDF) die een expressie met een dynamische numerieke matrix als invoer gebruikt en deze naar achteren verplaatst. Het wordt vaak gebruikt voor het verschuiven van tijdreeksen om te testen of een patroon nieuw is of overeenkomt met historische gegevens.

Syntax

series_lag_fl(, y_seriesOffset)

Meer informatie over syntaxisconventies.

Parameters

Naam Type Vereist Beschrijving
y_series dynamic ✔️ Een matrixcel met numerieke waarden.
offset int ✔️ Een geheel getal dat de vereiste verschuiving in bins aangeeft.

Functiedefinitie

U kunt de functie als volgt definiëren door de code in te sluiten als een door een query gedefinieerde functie of door deze te maken als een opgeslagen functie in uw database:

Definieer de functie met behulp van de volgende let-instructie. Er zijn geen machtigingen vereist.

Belangrijk

Een let-instructie kan niet zelfstandig worden uitgevoerd. Deze moet worden gevolgd door een tabellaire expressie-instructie. Zie Voorbeeld als u een werkend voorbeeld van series_lag_fl()wilt uitvoeren.

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.

Voorbeeld

Als u een querygedefinieerde functie wilt gebruiken, roept u deze aan na de definitie van de ingesloten functie.

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

Uitvoer

Grafiek van een tijdreeks die één dag is verschoven.