Операции с активными листами и словарями
Функции active_list и active_list_dyn
Функции позволяют получать информацию из активного листа и динамически формировать имя поля активного листа и ключа.
Необходимо указать параметры в следующей последовательности:
Пример использования |
Результат выполнения |
|
Получение значения поля активного листа. |
С помощью этих функций из переменной можно обратиться к активному листу Общего тенанта. Для этого после названия активного листа необходимо добавить суффикс @Shared (регистр имеет значение). Например, active_list('exampleActiveList@Shared', 'score', SourceAddress,SourceUserName).
Функция table_dict
Получение информации о значении в указанном столбце словаря типа таблица.
Необходимо указать параметры в следующей последовательности:
Пример использования |
Результат выполнения |
|
Получение данных из словаря |
|
Получение данных из словаря |
С помощью этой функции из переменной можно обратиться к словарю Общего тенанта. Для этого после названия активного листа необходимо добавить суффикс @Shared
(регистр имеет значение). Например, table_dict('exampleTableDict@Shared', 'office', SourceUserName)
.
Функция dict
Получение информации о значении в указанном столбце словаря типа словарь.
Необходимо указать параметры в следующей последовательности:
Пример использования |
Результат выполнения |
|
Получение данных из словаря |
|
Получение данных из словаря |
С помощью этой функции из переменной можно обратиться к словарю Общего тенанта. Для этого после названия активного листа необходимо добавить суффикс @Shared
(регистр имеет значение). Например, dict('exampleDictionary@Shared', SourceAddress)
.
Операции с контекстными таблицами
Функция context_table
Возвращает значение указанного поля в базовом типе (например, целое число,массив целых чисел).
Необходимо указать параметры в следующей последовательности:
Функция должна содержать минимум 4 параметра.
Пример использования |
Результат выполнения |
|
|
Функция len
Возвращает длину строки и массива.
Функция возвращает длину массива, если переданный массив соответствует одному из следующих типов:
Если передан массив другого типа, данные массива приводятся к строковому типу, и функция возвращает длину полученной строки.
Примеры использования |
|
|
Функция distinct_items
Возвращает список уникальных элементов массива.
Функция возвращает список уникальных элементов массива, если переданный массив соответствует одному из следующих типов:
Если передан массив другого типа, данные массива приводятся к строковому типу, и функция возвращает строку, состоящую из уникальных символов исходной строки.
Примеры использования |
|
|
Функция sort_items
Возвращает отсортированный список элементов массива.
Необходимо указать параметры в следующей последовательности:
asc
, desc
. Если параметр не указан, значение по умолчанию – asc
.Функция возвращает отсортированный список элементов массива, если переданный массив соответствует одному из следующих типов:
Функция возвращает список элементов массива в исходном порядке, если был передан массив логических типов.
Если передан массив другого типа, данные массива приводятся к строковому типу, и функция возвращает строку отсортированных символов.
Примеры использования |
|
|
Функция item
Возвращает элемент массива с указанным индексом или символ строки с указанным индексом, если передан массив целых чисел, чисел с плавающей точкой, строк или булевых значений.
Необходимо указать параметры в следующей последовательности:
Функция должна содержать минимум 2 параметра.
Функция возвращает элемент массива с указанным индексом или символ строки с указанным индексом, если индекс находится в диапазоне массива и переданный массив соответствует следующему типу:
Если передан массив другого типа и индекс находится в диапазоне массива, данные приводятся к строковому типу и функция возвращает символ строки по индексу. Если передан массив другого типа и индекс не находится в диапазоне массива, функция возвращает пустую строку.
Примеры использования |
|
|
Операции со строками
Функция to_lower
Перевод символов в строке в нижний регистр. Поддерживается для стандартных полей и полей расширенной схемы событий типа строка
.
Строку можно передать строкой, названием поля или переменной.
Примеры использования |
|
|
|
Функция to_upper
Перевод символов в строке в верхний регистр. Поддерживается для стандартных полей и полей расширенной схемы событий типа строка
. Строку можно передать строкой, названием поля или переменной.
Примеры использования |
|
|
|
Функция append
Добавление символов в конец строки. Поддерживается для стандартных полей и полей расширенной схемы событий типа строка
.
Необходимо указать параметры в следующей последовательности:
Строки можно передать строкой, названием поля или переменной.
Примеры использования |
Результат использования |
|
Строка из поля |
|
Строка из переменной |
|
Строка из поля |
Функция prepend
Добавление символов в начало строки. Поддерживается для стандартных полей и полей расширенной схемы событий типа строка
.
Необходимо указать параметры в следующей последовательности:
Строки можно передать строкой, названием поля или переменной.
Примеры использования |
Результат использования |
|
Строка из поля |
|
Строка из переменной |
|
Строка из поля |
Функция substring
Возвращает подстроку из строки. Поддерживается для стандартных полей и полей расширенной схемы событий типа строка
.
Необходимо указать параметры в следующей последовательности:
Строки можно передать строкой, названием поля или переменной. Если номер позиции больше, чем длина строки исходных данных, возвращается пустая строка.
Примеры использования |
Результат использования |
|
Возвращает часть строки из поля |
|
Возвращает часть строки из переменной |
|
Возвращает всю строку из поля |
Функция index_of
Функция index_of
возвращает байтовое смещение символа или подстроки в строке, расчет индекса начинается с 0. Если в результате работы функции подстрока не была найдена, функция вернет отрицательное значение.
Если в строке есть символы, не входящие в набор ASCII, то возвращаемое байтовое смещение не будет соответствовать количеству букв до искомой подстроки.
Доступны следующие параметры функции:
Для использования функции необходимо указать параметры в следующей последовательности:
Примеры использования |
Результат использования |
|
Выполняется поиск символа Результат = 4 Функция возвращает индекс первой позиции искомого символа в строке. Расчет индекса начинается с 0. |
|
Выполняется поиск символа Результат = 8 Функция возвращает индекс первой позиции искомого символа в строке. Расчет индекса начинается с 0. |
Функция last_index_of
Функция last_index_of
возвращает последнюю позицию символа или подстроки в строке, расчет индекса начинается с 0. Если в результате работы функции подстрока не была найдена, функция вернет значение -9223372036854775808.
Доступны следующие параметры функции:
Для использования функции необходимо указать параметры в следующей последовательности:
Примеры использования |
Результат использования |
|
Выполняется поиск символа Результат = 15 Функция возвращает индекс последней позиции искомого символа в строке. Расчет индекса начинается с 0. |
Функция tr
Убирает из начала и конца строки указанные символы. Поддерживается для стандартных полей и полей расширенной схемы событий типа строка
.
Необходимо указать параметры в следующей последовательности:
Строки можно передать строкой, названием поля или переменной. Если строку на удаление не указать, в начале и в конце исходной строки будут удалены пробелы.
Примеры использования |
Результат использования |
|
В начале и в конце строки из поля |
|
Если переменной |
|
Если в поле события |
Функция replace
Замена в строке всех вхождений последовательности символов А на последовательность символов B. Поддерживается для стандартных полей и полей расширенной схемы событий типа строка
.
Необходимо указать параметры в следующей последовательности:
Строки можно передать выражением.
Примеры использования |
Результат использования |
|
Возвращается строка из поля события |
|
Возвращается строка из переменной |
Функция regexp_replace
Замена в строке последовательности символов, удовлетворяющих регулярному выражению, на последовательность символов и группы захвата регулярного выражения. Поддерживается для стандартных полей и полей расширенной схемы событий типа строка
.
Необходимо указать параметры в следующей последовательности:
Строки можно передать строкой, названием поля или переменной. Допускается использовать неименованные группы захвата.
В регулярных выражениях, используемых в функциях переменных, каждый символ обратной косой черты необходимо дополнительно экранировать. Например, вместо регулярного выражения ^example\\
необходимо указывать выражение ^example\\\\
.
Примеры использования |
Результат использования |
|
Возвращается строка из поля события |
Функция regexp_capture
Получение из исходной строки результата, удовлетворяющего условию регулярного выражения. Поддерживается для стандартных полей и полей расширенной схемы событий типа строка
.
Необходимо указать параметры в следующей последовательности:
Строки можно передать строкой, названием поля или переменной. Допускается использовать неименованные группы захвата.
В регулярных выражениях, используемых в функциях переменных, каждый символ обратной косой черты необходимо дополнительно экранировать. Например, вместо регулярного выражения ^example\\
необходимо указывать выражение ^example\\\\
.
Примеры использования |
Примеры значений |
Результат использования |
|
|
|
Функция template
Возвращает строку, указанную в функции, с заменой переменных на их значения. Функция template может быть использована в одном из двух вариантов:
Примеры использования |
|
Операции с метками времени
Функция now
Получение временной метки в формате epoch. Запускается без аргументов.
Примеры использования |
|
Функция extract_from_timestamp
Получение атомарных представлений времени (в виде год, месяц, день, час, минута, секунда, день недели) из полей и переменных с временем в формате epoch.
Параметры необходимо указать в следующей последовательности:
Возможные варианты обозначения атомарного времени:
Примеры использования |
|
|
|
|
Функция parse_timestamp
Представление времени из формата RFC3339 (например, 2022-05-24 00:00:00
, 2022-05-24 00:00:00+0300
) в формат epoch.
Примеры использования |
|
|
Функция format_timestamp
Представление времени из формата epoch в формат RFC3339.
Параметры необходимо указать в следующей последовательности:
Примеры использования |
|
|
|
Функция truncate_timestamp
Округление времени в формате epoch. После округления время возвращается в формате epoch. Время округляется в меньшую сторону.
Параметры необходимо указать в следующей последовательности:
Примеры использования |
Примеры округляемых значений |
Результат использования |
|
1654631774175 (7 June 2022 г., 19:56:14.175) |
1654631760000 (7 June 2022 г., 19:56:00) |
|
1654631774175 (7 June 2022 г., 19:56:14.175) |
1654628400000 (7 June 2022 г., 19:00:00) |
|
1654631774175 (7 June 2022 г., 19:56:14.175) |
1654560000000 (7 June 2022 г., 0:00:00) |
Функция time_diff
Получение интервала времени между двумя метками времени в формате epoch.
Параметры необходимо указать в следующей последовательности:
Примеры использования |
|
|
|
Математические операции
Представлены как простейшими математическими операциями, так и функциями.
Простейшие математические операции
Поддерживаются для полей расширенной схемы событий с типом целое число
и число с плавающей точкой
.
Операции:
Использование круглых скобок определяет последовательность действий
Доступные аргументы:
При делении по модулю в качестве аргументов можно использовать только натуральные числа.
Ограничения использования:
Примеры использования
|
Результат использования |
|
4 |
|
-1 |
|
5 |
|
0 |
|
0 |
|
10 |
|
1 |
Функция round
Округление чисел. Поддерживается для полей расширенной схемы событий с типом целое число
и число с плавающей точкой
.
Доступные аргументы:
Примеры использования
|
Результат использования |
|
8 |
|
8 |
|
7 |
Функция ceil
Округление чисел в большую сторону. Поддерживается для полей расширенной схемы событий с типом целое число
и число с плавающей точкой
.
Доступные аргументы:
Примеры использования
|
Результат использования |
|
8 |
|
9 |
Функция floor
Округление чисел в меньшую сторону. Поддерживается для полей расширенной схемы событий с типом целое число
и число с плавающей точкой
.
Доступные аргументы:
Примеры использования
|
Результат использования |
|
7 |
|
8 |
Функция abs
Получение числа по модулю. Поддерживается для полей расширенной схемы событий с типом целое число
и число с плавающей точкой
.
Доступные аргументы:
Примеры использования
|
Результат использования |
|
7 |
|
2 |
Функция pow
Возведение числа в степень. Поддерживается для полей расширенной схемы событий с типом целое число
и число с плавающей точкой
.
Параметры необходимо указать в следующей последовательности:
Доступные аргументы:
Примеры использования |
|
|
Функция str_join
Позволяет объединить несколько строк в одну с использованием разделителя. Поддерживается для полей расширенной схемы событий с типом целое число
и число с плавающей точкой
.
Параметры необходимо указать в следующей последовательности:
Примеры использования |
Результат использования |
|
Строка. |
Функция conditional
Позволяет получить одно значения в случае выполнения условия и другое значение, если условие не выполнится. Поддерживается для полей расширенной схемы событий с типом целое число
и число с плавающей точкой
.
Параметры необходимо указать в следующей последовательности:
Поддерживаемые операторы:
AND
OR
NOT
=
!=
<
<=
>
>=
LIKE
(передается регулярное выражение RE2, а не SQL-выражение)ILIKE
(передается регулярное выражение RE2, а не SQL-выражение)BETWEEN
IN
IS NULL
(проверка на пустое значение, например 0 или пустую строку)Примеры использования (значение зависит от аргументов 2 и 3) |
|
|
|
Операции для полей расширенной схемы событий
Для полей расширенной схемы событий типа строка
поддерживаются следующие виды операций:
len
to_lower
to_upper
append
prepend
substring
tr
replace
regexp_replace
regexp_capture
Для полей расширенной схемы событий с типом целое число
или число с плавающей точкой
поддерживаются следующие виды операций:
round
ceil
floor
abs
pow
str_join
conditional
KUMA поддерживает для полей расширенной схемы событий с типом массив целых чисел
, массив чисел с плавающей точкой
и массив строк
следующие виды функций:
item(<type>.someStringArray)
.<type>.someStringArray
. Вернет ["string1", "string2", "string3"]
.len(<type>.someStringArray)
. Вернет ["string1", "string2"]
.distinct_items(<type>.someStringArray)
.to_string(<type>.someStringArray)
.sort_items(<type>.someStringArray)
.В примерах вместо <type>
необходимо указать тип массива: NA для массива целых чисел, FA для массива чисел с плавающей точкой, SA для массива строк.
Для полей с типом массив целых чисел
и массив чисел с плавающей точкой
поддерживаются следующие функции:
math_min
– возвращает минимальный элемент массива. Пример: math_min(NA.NumberArray)
, math_min(FA.FloatArray)
.math_max
– возвращает максимальный элемент массива. Пример: math_max(NA.NumberArray)
, math_max(FA.FloatArray)
.math_avg
– возвращает среднее значение массива. Пример: math_avg(NA.NumberArray)
, math_avg(FA.FloatArray)
.