Поделиться через


Подключаемый модуль rows_near()

Находит строки, близкие к заданному условию.

Подключаемый модуль вызывается с evaluate помощью оператора .

Синтаксис

T| evaluaterows_near(Состояние,NumRows, [,RowsAfter ])

Дополнительные сведения о соглашениях о синтаксисе.

Параметры

Имя Тип Обязательно Описание
T string ✔️ Входное табличное выражение.
Condition bool ✔️ Представляет условие для поиска строк.
NumRows int ✔️ Количество строк, которые необходимо найти до и после условия.
RowsAfter int При указании переопределяет количество строк, которые нужно найти после условия.

Возвращаемое значение

Каждая строка из входных данных, находящегося в numRows из trueусловия, когда указан параметр RowsAfter, возвращает каждую true строку из входных данных, которые являются NumRows before или RowsAfter после условия.

Пример

Поиск строк с состоянием"Error" и возврат 2 строк до и после "Error" записи.

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)

Выходные данные

Отметка времени Значение Состояние
2021-06-05 00:00:00.0000000 15 Успешное завершение
2021-06-06 00:00:00.0000000 2 Успешное завершение
2021-06-07 00:00:00.0000000 19 Ошибка
2021-06-08 00:00:00.0000000 12 Успешное завершение
2021-06-09 00:00:00.0000000 7 Успешное завершение