你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍函数列表及其说明,帮助你开始使用 Kusto 查询语言。
| 运算符/函数 | Description | Syntax |
|---|---|---|
| 筛选/搜索/条件 | 通过筛选或搜索查找相关数据 | |
| 哪里 | 特定谓词的筛选器 | T | where Predicate |
| 其中包含/具有 |
Contains:查找任何子字符串匹配 Has:查找特定单词(性能更佳) |
T | where col1 contains/has "[search term]" |
| 搜索 | 在表格的所有列中搜索值 | [TabularSource |] search [kind=CaseSensitivity] [in (TableSources)] SearchPredicate |
| 拿 | 返回指定的记录数。 用于测试查询 注意: take 是 limit 同义词。 |
T | take NumberOfRows |
| 案例 | 添加条件语句,类似于其他系统中的 if/then/elseif。 | case(predicate_1, then_1, predicate_2, then_2, predicate_3, then_3, else) |
| distinct | 生成具有输入表提供列的不同组合的表 | distinct [ColumnName], [ColumnName] |
| 日期/时间 | 使用日期和时间函数的操作 | |
| 前 | 返回相对于查询执行时间的时间偏移量。 例如, ago(1h) 在当前时钟的读取前一小时。 |
ago(a_timespan) |
| format_datetime | 以 各种日期格式返回数据。 | format_datetime(datetime , format) |
| 文件夹 | 将时间范围内的所有值进行舍入并进行分组 | bin(value,roundTo) |
| 创建/删除列 | 添加或删除表中的列 | |
| 输出具有一个或多个标量表达式的单个行 | print [ColumnName =] ScalarExpression [',' ...] |
|
| 项目 | 选择在指定顺序中要包含的列 | 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 |
| 项目重新排序 | 对结果输出中的列重新排序 | T | project-reorder Col2, Col1, Col* asc |
| extend | 创建计算列并将其添加到结果集中 | T | extend [ColumnName | (ColumnName[, ...]) =] Expression [, ...] |
| 排序和聚合数据集 | 通过以有意义的方式对数据进行排序或分组来重构数据 | |
| “sort” 运算符 | 按一列或多列按升序或降序对输入表的行进行排序 | T | sort by expression1 [asc|desc], expression2 [asc|desc], … |
| top | 当通过 by 对数据集进行排序时,返回数据集的前 N 行 |
T | top numberOfRows by expression [asc|desc] [nulls first|last] |
| 总结 | 根据分组列对 by 行进行分组,并对每个组进行聚合计算。 |
T | summarize [[Column =] Aggregation [, ...]] [by [Column =] GroupExpression [, ...]] |
| count | 对输入表中的记录进行计数(例如 T) 此运算符是 summarize count() 的简写。 |
T | count |
| 加入 | 通过匹配每个表中的指定列的值,合并两个表的行以形成一个新表。 支持各种联接类型:fullouter、、inner、inneruniqueleftanti、leftantisemi、leftouter、、 leftsemirightantirightantisemirightouterrightsemi |
LeftTable | join [JoinParameters] ( RightTable ) on Attributes |
| 工会 | 从两个或多个表中提取数据并返回所有行 | [T1] | union [T2], [T3], … |
| range | 生成具有算术序列值的表 | range columnName from start to stop step step |
| 格式化数据 | 以有用的方式重构数据以输出 | |
| 查找 | 使用维度表中查找的值扩展事实数据表的列 | 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 [, ...]] |
| 让 | 将名称绑定到可引用其绑定值的表达式。 值可以是 lambda 表达式,用于创建查询定义的函数作为查询的一部分。 使用 let 创建表达式,以便在表上生成类似于新表的结果。 |
let Name = ScalarExpression | TabularExpression | FunctionDefinitionExpression |
| 常规 | 其他操作和函数 | |
| 调用 | 在作为输入接收的表上运行函数。 | T | invoke function([param1, param2]) |
| evaluate pluginName | 评估查询语言扩展(插件) | [T |] evaluate [ evaluateParameters ] PluginName ( [PluginArg1 [, PluginArg2]... ) |
| 可视化 | 以图形格式显示数据的操作 | |
| 渲染 | 将结果呈现为图形输出 | T | render Visualization [with (PropertyName = PropertyValue [, ...] )] |