Краткий справочник по KQL

В этой статье приведен список функций и их описание, которые помогут вам приступить к работе с языком запросов Kusto.

Оператор или функция Описание Синтаксис
Filter/Search/Condition Поиск нужных данных путем фильтрации или поиска
where Фильтрация по определенному предикату T | where Predicate
where contains/has Contains. Поиск соответствия подстроки
Has. Поиск конкретного слова (более высокая производительность)
T | where col1 contains/has "[search term]"
search Выполняет поиск значения во всех столбцах в таблице [TabularSource |] search [kind=CaseSensitivity] [in (TableSources)] SearchPredicate
take Возвращает указанное число записей. Используется для проверки запроса
Примечание. take И limit являются синонимами.
T | take NumberOfRows
case Добавляет оператор condition, аналогичный if/then/elseif в других системах. case(predicate_1, then_1, predicate_2, then_2, predicate_3, then_3, else)
distinct Создает таблицу с уникальной комбинацией указанных столбцов входной таблицы. distinct [ColumnName], [ColumnName]
Date/Time Операции, использующие функции даты и времени
ago Возвращает смещение времени относительно времени выполнения запроса. Например, ago(1h) имеет значение "за один час до считывания текущего часового пояса". ago(a_timespan)
format_datetime Возвращает данные в различных форматах даты. format_datetime(datetime , format)
bin Округляет все значения во временном интервале и группирует их bin(value,roundTo)
Create/Remove Columns Добавление столбцов в таблицу и их удаление из нее
print Выводит одну строку с одним или несколькими скалярными выражениями print [ColumnName =] ScalarExpression [',' ...]
project Выбирает столбцы для включения в указанном порядке T | project ColumnName [= Expression] [, ...]
либо
T | project [ColumnName | (ColumnName[,]) =] Expression [, ...]
project-away Выбирает столбцы, которые нужно исключить из выходных данных T | project-away ColumnNameOrPattern [, ...]
project-keep Выбирает столбцы, которые нужно отображать в выходных данных T | project-keep ColumnNameOrPattern [, ...]
project-rename Переименовывает столбцы в выходных данных результата T | project-rename new_column_name = column_name
project-reorder Переупорядочивает столбцы в выходных данных результата T | project-reorder Col2, Col1, Col* asc
extend Создает вычисляемый столбец и добавляет его в результирующий набор T | extend [ColumnName | (ColumnName[, ...]) =] Expression [, ...]
Sort and Aggregate Dataset Реструктуризация данных путем их результативной сортировки или группировки
Оператор sort Сортировка строк входной таблицы по одному или нескольким столбцам в порядке возрастания или убывания T | sort by expression1 [asc|desc], expression2 [asc|desc], …
В начало Возвращает первые N строк набора данных при сортировке набора данных с помощью by T | top numberOfRows by expression [asc|desc] [nulls first|last]
summarize Группирует строки в соответствии со столбцами группы by и вычисляет агрегаты для каждой группы T | summarize [[Column =] Aggregation [, ...]] [by [Column =] GroupExpression [, ...]]
count Подсчитывает количество записей в таблице входных данных (например, T)
Этот оператор является сокращением от summarize count()
T | count
join Объединяет строки двух таблиц для формирования новой таблицы путем сопоставления значений указанных столбцов каждой таблицы. Поддерживает полный диапазон типов объединения: fullouter, inner, innerunique, leftanti, leftantisemi, leftouter, leftsemi, rightanti, rightantisemi, rightouter, rightsemi LeftTable | join [JoinParameters] ( RightTable ) on Attributes
union Принимает несколько таблиц и возвращает все их строки [T1] | union [T2], [T3], …
range Формирует таблицу с арифметическими рядами значений range columnName from start to stop step step
Format Data Преобразование данных для вывода в удобном виде
lookup Расширяет столбцы таблицы фактов значениями, найденными в таблице измерения T1 | lookup [kind = (leftouter|inner)] ( T2 ) on Attributes
mv-expand Преобразует динамические массивы в строки (расширение для нескольких значений) T | mv-expand Column
parse оценивает выражение строки и разбирает его на один или несколько вычисляемых столбцов. Используется для создания структуры для неструктурированных данных. T | parse [kind=regex [flags=regex_flags] |simple|relaxed] Expression with * (StringConstant ColumnName [: ColumnType]) *...
make-series Создает серию указанных агрегированных значений по заданной оси T | make-series [MakeSeriesParamters] [Column =] Aggregation [default = DefaultValue] [, ...] on AxisColumn from start to end step step [by [Column =] GroupExpression [, ...]]
let Привязывает имя к выражениям, которые могут ссылаться на его связанное значение. Значения могут быть лямбда-выражениями для создания определяемых запросом функций в рамках запроса. Используйте let для создания выражений по таблицам, результаты которых выглядят как новая таблица. let Name = ScalarExpression | TabularExpression | FunctionDefinitionExpression
Общие Прочие операции и функции
invoke Выполняет функцию для таблицы, которая получает результат этой функции в качестве входных данных. T | invoke function([param1, param2])
evaluate pluginName Оценивает расширения языка запросов (подключаемые модули) [T |] evaluate [ evaluateParameters ] PluginName ( [PluginArg1 [, PluginArg2]... )
Визуализация Операции, отображающие данные в графическом формате
render Выводит результаты в графическом формате T | render Visualization [with (PropertyName = PropertyValue [, ...] )]