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 傳回指定的記錄筆數。 用來測試查詢
注意takelimit 是同義字。
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 輸出含有一或多個純量運算式的單一資料列 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 透過比對每個資料表中所指定資料行的值,來合併兩個資料表的資料列,以形成新的資料表。 支援全系列的聯結類型:fullouterinnerinneruniqueleftantileftantisemileftouterleftsemirightantirightantisemirightouterrightsemi 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 [, ...] )]