Функции переменных

Операции с активными листами и словарями

Функция "active_list"

Получение информации из активного листа о значении в указанном столбце.

Необходимо указать параметры в следующей последовательности:

  1. название активного листа;
  2. название столбца активного листа;
  3. ключ записи активного листа.

    В качестве ключа записи активного листа используется название одного или нескольких полей события.

    Пример использования

    Результат выполнения

    active_list('exampleActiveList', 'score', SourceAddress,SourceUserName)

    Получение данных из активного листа exampleActiveList из записи SourceAddress,SourceUserName из столбца score.

Функция "table_dict"

Получение информации о значении в указанном столбце словаря типа таблица.

Необходимо указать параметры в следующей последовательности:

  1. название словаря;
  2. название столбца словаря;
  3. ключ строки словаря.

    Пример использования

    Результат выполнения

    table_dict('exampleTableDict', 'office', SourceUserName)

    Получение данных из словаря exampleTableDict из строки с ключом SourceUserName из столбца office.

Функция "dict"

Получение информации о значении в указанном столбце словаря типа словарь.

Необходимо указать параметры в следующей последовательности:

  1. название словаря;
  2. ключ строки словаря.

    Пример использования

    Результат выполнения

    dict('exampleDictionary', SourceAddress)

    Получение данных из словаря exampleDictionary из строки с ключом SourceAddress.

Операции со строками

Функция "len"

Возвращает число символов в строке.

Строку можно передать строкой, названием поля или переменной.

Примеры использования

len('SomeText')

len(Message)

len($otherVariable)

Функция "to_lower"

Перевод символов в строке в нижний регистр.

Строку можно передать строкой, названием поля или переменной.

Примеры использования

to_lower(SourceUserName)

to_lower('SomeText')

to_lower($otherVariable)

Функция "to_upper"

Перевод символов в строке в верхний регистр. Строку можно передать строкой, названием поля или переменной.

Примеры использования

to_upper(SourceUserName)

to_upper('SomeText')

to_upper($otherVariable)

Функция "append"

Добавление символов в конец строки.

Необходимо указать параметры в следующей последовательности:

  1. исходная строка;
  2. добавляемая строка.

Строки можно передать строкой, названием поля или переменной.

Примеры использования

Результат использования

append(Message, '123')

Строка из поля Message, в конце которой добавлена строка 123.

append($otherVariable, 'text')

Строка из переменной otherVariable, в конце которой добавлена строка text.

append(Message, $otherVariable)

Строка из поля Message, в конце которой добавлена строка из переменной otherVariable.

Функция "prepend"

Добавление символов в начало строки.

Необходимо указать параметры в следующей последовательности:

  1. исходная строка;
  2. добавляемая строка.

Строки можно передать строкой, названием поля или переменной.

Примеры использования

Результат использования

prepend(Message, '123')

Строка из поля Message, в начало которой добавлена строка 123.

prepend($otherVariable, 'text')

Строка из переменной otherVariable, в начало которой добавлена строка text.

prepend(Message, $otherVariable)

Строка из поля Message, в начало которой добавлена строка из переменной otherVariable.

Функция "substring"

Возвращает подстроку из строки. 

Необходимо указать параметры в следующей последовательности:

  1. исходная строка;
  2. позиция начала подстроки (натуральное число или 0);
  3. (необязательно) позиция конца подстроки.

Строки можно передать строкой, названием поля или переменной. Если номер позиции больше, чем длина строки исходных данных, возвращается пустая строка.

Примеры использования

Результат использования

substring(Message, 2)

Возвращает часть строки из поля Message: от 3 символа до конца.

substring($otherVariable, 2, 5)

Возвращает часть строки из переменной otherVariable: от 3 до 6 символа.

substring(Message, 0, len(Message) - 1)

Возвращает всю строку из поля Message, кроме последнего символа.

Функция "tr"

Убирает из начала и конца строки указанные символы.

Необходимо указать параметры в следующей последовательности:

  1. исходная строка;
  2. (необязательно) строка, которую следует удалить из начала и конца исходной строки.

Строки можно передать строкой, названием поля или переменной. Если строку на удаление не указать, в начале и в конце исходной строки будут удалены пробелы.

Примеры использования

Результат использования

tr(Message)

В начале и в конце строки из поля Message удалены пробелы.

tr($otherVariable, '_')

Если переменной otherVariable соответствует значение _test_, будет возвращена строка test.

tr(Message, '@example.com')

Если в поле события Message находится строка user@example.com, будет возвращена строка user.

Функция "replace"

Замена в строке всех вхождений последовательности символов А на последовательность символов B.

Необходимо указать параметры в следующей последовательности:

  1. исходная строка;
  2. строка поиска: последовательность символов, подлежащая замене;
  3. строка замены: последовательность символов, на которую необходимо заменить строку поиска.

Строки можно передать строкой, названием поля или переменной.

Примеры использования

Результат использования

replace(Name, 'UserA', 'UserB')

Возвращается строка из поля события Name, в которой все вхождения UserA заменены на UserB.

replace($otherVariable, ' text ', '_text_')

Возвращается строка из переменной otherVariable, в которой все вхождения ' text ' заменены на '_text_'.

Функция "regexp_replace"

Замена в строке последовательности символов, удовлетворяющих регулярному выражению, на последовательность символов и группы захвата регулярного выражения.

Необходимо указать параметры в следующей последовательности:

  1. исходная строка;
  2. строка поиска: регулярное выражение;
  3. строка замены: последовательность символов, на которую необходимо заменить строку поиска, и идентификаторы групп захвата регулярного выражения.

Строки можно передать строкой, названием поля или переменной. Допускается использовать неименованные группы захвата.

Примеры использования

Результат использования

regexp_replace(SourceAddress, '([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})', 'newIP: $1.$2.$3.10')

Возвращается строка из поля события SourceAddress, в которой перед IP-адресами вставлен текст newIP. Также последние цифры адреса заменены на 10.

Функция "regexp_capture"

Получение из исходной строки результата, удовлетворяющего условию регулярного выражения.

Необходимо указать параметры в следующей последовательности:

  1. исходная строка;
  2. строка поиска: регулярное выражение.

Строки можно передать строкой, названием поля или переменной. Допускается использовать неименованные группы захвата.

Примеры использования

Примеры значений

Результат использования

regexp_capture(Message, '(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})')

Message = 'Access from 192.168.1.1 session 1'

Message = 'Access from 45.45.45.45 translated address 192.168.1.1 session 1'

'192.168.1.1'

'45.45.45.45'

Операции с метками времени

Функция now

Получение временной метки в формате epoch. Запускается без аргументов.

Примеры использования

now()

Функция "extract_from_timestamp"

Получение атомарных представлений времени (в виде год, месяц, день, час, минута, секунда, день недели) из полей и переменных с временем в формате epoch.

Параметры необходимо указать в следующей последовательности:

  1. Поле события, имеющего тип timestamp, или переменная.
  2. Обозначение атомарного представления времени. Параметр регистрозависимый.

    Возможные варианты обозначения атомарного времени:

    • y – год в виде числа.
    • M – месяц, числовое обозначение.
    • d – число месяца.
    • wd – день недели: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday.
    • h – часы в 24-часовом формате.
    • m – минуты.
    • s – секунды.
  3. (необязательно) Обозначение часового пояса. Если параметр не указан, время высчитывается в формате UTC.

    Примеры использования

    extract_from_timestamp(Timestamp, 'wd')

    extract_from_timestamp(Timestamp, 'h')

    extract_from_timestamp($otherVariable, 'h')

    extract_from_timestamp(Timestamp, 'h', 'Europe/Moscow')

Функция "parse_timestamp"

Представление времени из формата RFC3339 (например, "2022-05-24 00:00:00", "2022-05-24 00:00:00+0300) в формат epoch.

Примеры использования

parse_timestamp(Message)

parse_timestamp($otherVariable)

Функция "format_timestamp"

Представление времени из формата epoch в формат RFC3339.

Параметры необходимо указать в следующей последовательности:

  1. Поле события, имеющего тип timestamp, или переменная.
  2. Обозначение формата времени: RFC3339.
  3. (необязательно) Обозначение часового пояса. Если параметр не указан, время высчитывается в формате UTC.

    Примеры использования

    format_timestamp(Timestamp, 'RFC3339')

    format_timestamp($otherVariable, 'RFC3339')

    format_timestamp(Timestamp, 'RFC3339', 'Europe/Moscow')

Функция "truncate_timestamp"

Округление времени в формате epoch. После округления время возвращается в формате epoch. Время округляется в меньшую сторону.

Параметры необходимо указать в следующей последовательности:

  1. Поле события, имеющего тип timestamp, или переменная.
  2. Параметр округления:
    • 1s – округление до секунд;
    • 1m – округление до минут;
    • 1h – округление до часов;
    • 24h – округление до суток.
  3. (необязательно) Обозначение часового пояса. Если параметр не указан, время высчитывается в формате UTC.

    Примеры использования

    Примеры округляемых значений

    Результат использования

    truncate_timestamp(Timestamp, '1m')

    1654631774175 (7 June 2022 г., 19:56:14.175)

    1654631760000 (7 June 2022 г., 19:56:00)

    truncate_timestamp($otherVariable, '1h')

    1654631774175 (7 June 2022 г., 19:56:14.175)

    1654628400000 (7 June 2022 г., 19:00:00)

    truncate_timestamp(Timestamp, '24h', 'Europe/Moscow')

    1654631774175 (7 June 2022 г., 19:56:14.175)

    1654560000000 (7 June 2022 г., 0:00:00)

Функция "time_diff"

Получение интервала времени между двумя метками времени в формате epoch.

Параметры необходимо указать в следующей последовательности:

  1. Время конца отрезка. Поле события, имеющего тип timestamp, или переменная.
  2. Время начала отрезка. Поле события, имеющего тип timestamp, или переменная.
  3. Представление временного интервала:
    • ms – в миллисекундах;
    • s – в секундах;
    • m – в минутах;
    • h – в часах;
    • d – в днях.

    Примеры использования

    time_diff(EndTime, StartTime, 's')  

    time_diff($otherVariable, Timestamp, 'h')

    time_diff(Timestamp, DeviceReceiptTime, 'd')

Математические операции

Представлены как простейшими математическими операциями, так и функциями.

Простейшие математические операции

Операции:

Использование круглых скобок определяет последовательность действий

Доступные аргументы:

Ограничения использования:

Функция "round"

Округление чисел. 

Доступные аргументы:

Функция "ceil"

Округление чисел в большую сторону.

Доступные аргументы:

Функция "floor"

Округление чисел в меньшую сторону.

Доступные аргументы:

Функция "abs"

Получение числа по модулю.

Доступные аргументы:

Функция "pow"

Возведение числа в степень.

Параметры необходимо указать в следующей последовательности:

  1. База. Вещественные числа.
  2. Степень. Натуральные числа.

Доступные аргументы:

В начало