KQL 快速參考
本文顯示函式及其描述的清單,以協助您開始使用 Kusto 查詢語言。
運算子/函式 | 描述 | 語法 |
---|---|---|
篩選/搜尋/條件 | 藉由篩選或搜尋來尋找相關資料 | |
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 | 新增條件陳述式,類似於其他系統中的 if/then/elseif。 | case(predicate_1, then_1, predicate_2, then_2, predicate_3, then_3, else) |
distinct | 產生資料表,其中以不同方式結合提供的輸入資料表資料列 | distinct [ColumnName], [ColumnName] |
日期/時間 | 使用日期和時間函式的作業 | |
ago | 傳回相對於查詢執行時間的時間位移。 例如,ago(1h) 是目前時鐘讀取的前一小時。 |
ago(a_timespan) |
format_datetime | 傳回各種日期格式的資料。 | format_datetime(datetime , format) |
bin | 將時間範圍中的所有值進行四捨五入並予以分組 | bin(value,roundTo) |
建立/移除資料行 | 新增或移除資料表中的資料行 | |
輸出含有一或多個純量運算式的單一資料列 | print [ColumnName =] ScalarExpression [',' ...] |
|
project | 選取要以指定的順序納入的資料行 | T | project ColumnName [= Expression] [, ...] Or 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 運算子 | 以遞增或遞減順序排序輸入數據表的數據列 | T | sort by expression1 [asc|desc], expression2 [asc|desc], … |
top | 使用 by 排序資料集時,傳回資料集的前 N 個資料列 |
T | top numberOfRows by expression [asc|desc] [nulls first|last] |
summarize | 根據 by 群組資料行將資料列分組,並計算每個群組的彙總 |
T | summarize [[Column =] Aggregation [, ...]] [by [Column =] GroupExpression [, ...]] |
計數 | 計算輸入資料表中的記錄 (例如 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 |
格式化資料 | 以實用的方式將資料重組為輸出 | |
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 | 將名稱繫結至可參考其繫結值的運算式。 值可以是 Lambda 運算式,可在查詢中建立查詢定義的函式。 使用 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 [, ...] )] |
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應