Dela via


rows_near() plugin-program

Söker efter rader nära ett angivet villkor.

Plugin-programmet anropas med operatorn evaluate .

Syntax

T| evaluaterows_near(Villkor,NumRows, [,RowsAfter ])

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Obligatorisk Beskrivning
T string ✔️ Tabelluttrycket för indata.
Condition bool ✔️ Representerar villkoret för att hitta rader runt.
NumRows int ✔️ Antalet rader som ska hittas före och efter villkoret.
RowsAfter int När detta anges åsidosätter du antalet rader som ska hittas efter villkoret.

Returer

Varje rad från indata som finns inom NumRows från ett truevillkor, när RowsAfter har angetts, returnerar varje rad från indata som är NumRows före eller RowsAfter efter ett truevillkor.

Exempel

Sök efter rader med ett "Error"tillstånd och returnerar 2 rader före och efter "Error" posten.

datatable (Timestamp:datetime, Value:long, State:string )
[
    datetime(2021-06-01), 1, "Success",
    datetime(2021-06-02), 4, "Success",
    datetime(2021-06-03), 3, "Success",
    datetime(2021-06-04), 11, "Success",
    datetime(2021-06-05), 15, "Success",
    datetime(2021-06-06), 2, "Success",
    datetime(2021-06-07), 19, "Error",
    datetime(2021-06-08), 12, "Success",
    datetime(2021-06-09), 7, "Success",
    datetime(2021-06-10), 9, "Success",
    datetime(2021-06-11), 4, "Success",
    datetime(2021-06-12), 1, "Success",
]
| sort by Timestamp asc 
| evaluate rows_near(State == "Error", 2)

Resultat

Timestamp Värde Tillstånd
2021-06-05 00:00:00.0000000 15 Klart
2021-06-06 00:00:00.0000000 2 Klart
2021-06-07 00:00:00.0000000 19 Fel
2021-06-08 00:00:00.0000000 12 Klart
2021-06-09 00:00:00.0000000 7 Klart