arg_min (聚合函數)
在數據表中尋找可最小化指定表達式的數據列。 它會傳回輸入數據表或指定數據行的所有數據行。
注意
此函式會與 summarize 運算子搭配使用。
已被取代的別名: argmin()
語法
arg_min
(
ExprToMinimize,
* | ExprToReturn [,
...])
深入瞭解 語法慣例。
參數
姓名 | 類型 | 必要 | 描述 |
---|---|---|---|
ExprToMinimize | string |
✔️ | 決定最小值的表達式。 |
ExprToReturn | string |
✔️ | 表達式會從具有 ExprToMinimize之最小值的數據列,決定傳回哪些數據行的值。 使用通配符 * 傳回所有數據行。 |
Null 處理
當數據表中的所有數據列 ExprToMinimize 為 null 時,會挑選數據表中的一個數據列。 否則,會忽略 ExprToMinimize 為 null 的數據列。
傳回
傳回資料表中的數據列,將 ExprToMinimize最小化,以及 ExprToReturn 中指定的數據行值。 使用或 *
傳回整個數據列。
提示
若要檢視最小值,請使用 min() 函式。
範例
尋找每個狀態中風暴事件的最低緯度。
StormEvents
| summarize arg_min(BeginLat, BeginLocation) by State
顯示的結果數據表只包含前10個數據列。
州/省 | BeginLat | BeginLocation |
---|---|---|
美屬薩摩亞 | -14.3 | PAGO PAGO |
加利福尼亞州 | 32.5709 | 內斯特 |
明尼蘇達州 | 43.5 | 比奇洛 |
華盛頓州 | 45.58 | WASHOUGAL |
喬治亞州 | 30.67 | 法戈 |
伊利諾州 | 37 | 開羅 |
佛羅里達州 | 24.6611 | SUGARLOAF KEY |
肯塔基州 | 36.5 | 榛子 |
德克薩斯州 | 25.92 | 布朗斯維爾 |
俄亥俄州 | 38.42 | 南 PT |
... | ... | ... |
找出每個州發生直接死亡的事件時,第一次顯示所有數據行。
查詢會先篩選事件,只包含至少有一個直接死亡的事件。 然後,查詢會傳回 StartTime 最小值的整個數據列。
StormEvents
| where DeathsDirect > 0
| summarize arg_min(StartTime, *) by State
顯示的結果數據表只包含前 10 個數據列和前 3 個數據行。
州/省 | StartTime | EndTime | ... |
---|---|---|---|
INDIANA | 2007-01-01T00:00:00Z | 2007-01-22T18:49:00Z | ... |
佛羅里達州 | 2007-01-03T10:55:00Z | 2007-01-03T10:55:00Z | ... |
NEVADA | 2007-01-04T09:00:00Z | 2007-01-05T14:00:00Z | ... |
路易斯安那州 | 2007-01-04T15:45:00Z | 2007-01-04T15:52:00Z | ... |
華盛頓州 | 2007-01-09T17:00:00Z | 2007-01-09T18:00:00Z | ... |
加利福尼亞州 | 2007-01-11T22:00:00Z | 2007-01-24T10:00:00Z | ... |
奧克拉荷馬州 | 2007-01-12T00:00:00Z | 2007-01-18T23:59:00Z | ... |
密蘇里州 | 2007-01-13T03:00:00Z | 2007-01-13T08:30:00Z | ... |
德克薩斯州 | 2007-01-13T10:30:00Z | 2007-01-13T14:30:00Z | ... |
阿肯色州 | 2007-01-14T03:00:00Z | 2007-01-14T03:00:00Z | ... |
... | ... | ... | ... |
下列範例示範 Null 處理。
datatable(Fruit: string, Color: string, Version: int) [
"Apple", "Red", 1,
"Apple", "Green", int(null),
"Banana", "Yellow", int(null),
"Banana", "Green", int(null),
"Pear", "Brown", 1,
"Pear", "Green", 2,
]
| summarize arg_min(Version, *) by Fruit
輸出
水果 | 版本 | Color |
---|---|---|
Apple | 1 | 紅色 |
香蕉 | 黃色 | |
梨 | 1 | 棕色 |
與 min() 的比較
arg_min() 函式與 min() 函式不同。 arg_min() 函式可讓您傳回其他數據行以及最小值,min() 只會傳回最小值本身。
範例
arg_min()
尋找發生直接死亡的事件時,第一次顯示數據表中的所有數據行。
查詢會先篩選事件,只包含至少有一個直接死亡的事件。 然後,查詢會傳回 StartTime 最小值的整個數據列。
StormEvents
| where DeathsDirect > 0
| summarize arg_min(StartTime, *)
結果數據表會傳回包含所指定表達式中最低值之數據列的所有數據行。
StartTime | EndTime | EpisodeId | EventId | 州/省 | EventType | ... |
---|---|---|---|---|---|---|
2007-01-01T00:00:00Z | 2007-01-22T18:49:00Z | 2408 | 11929 | INDIANA | 洪水 | ... |
min()
第一次發現發生直接死亡的事件。
查詢會篩選事件,只包含至少有一個直接死亡的事件,然後傳回 StartTime 的最小值。
StormEvents
| where DeathsDirect > 0
| summarize min(StartTime)
結果數據表只會傳回特定數據行中的最小值。
min_StartTime |
---|
2007-01-01T00:00:00Z |