在表中查找使指定表达式最大化的行。 它返回输入表的所有列或指定的列。
备注
此函数与 summarize 运算符结合使用。
弃用的别名:argmax()
arg_max
(
ExprToMaximize,
*ExprToReturn [ | ...],
)
详细了解语法约定。
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
ExprToMaximize | string |
✔️ | 确定最大值的表达式。 |
ExprToReturn | string |
✔️ | 表达式确定从具有 ExprToMaximize 最大值的行中返回哪些列的值。 使用通配符 * 返回所有列。 |
返回表中最大化指定表达式 ExprToMaximize 的行以及 ExprToReturn 中指定的列的值。
提示
若要仅查看最大值,请使用 max() 函数。
以下示例查找每个状态下风暴事件的最大纬度。
StormEvents
| summarize arg_max(BeginLat, BeginLocation) by State
输出
结果表仅显示前 10 行。
状态 | BeginLat | BeginLocation |
---|---|---|
密西西比州 | 34.97 | 巴顿 |
佛蒙特州 | 45 | 北特洛伊 |
美属萨摩亚 | -14.2 | OFU |
夏威夷 | 22.2113 | 普林斯维尔 |
明尼苏达州 | 49.35 | ARNESEN |
罗得岛州 | 42 | WOONSOCKET |
印第安纳州 | 41.73 | 弗里蒙特 |
西弗吉尼亚州 | 40.62 | 切斯特 |
南卡罗来纳州 | 35.18 | LANDRUM |
德克萨斯 | 36.4607 | DARROUZETT |
... | ... | ... |
以下示例查找每个状态中发生直接死亡事件的最后一次,并显示所有列。
查询首先筛选事件,以仅包含至少一个直接死亡的事件。 然后,查询将返回包含最新 StartTime
的整行。
StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *) by State
输出
结果表仅显示前 10 行和前三列。
状态 | 开始时间 | 结束时间 | ... |
---|---|---|---|
关岛 | 2007-01-27T11:15:00Z | 2007-01-27T11:30:00Z | ... |
麻萨诸塞州 | 2007-02-03T22:00:00Z | 2007-02-04T10:00:00Z | ... |
美属萨摩亚 | 2007-02-17T13:00:00Z | 2007-02-18T11:00:00Z | ... |
爱达荷州 | 2007-02-17T13:00:00Z | 2007-02-17T15:00:00Z | ... |
特拉华州 | 2007-02-25T13:00:00Z | 2007-02-26T01:00:00Z | ... |
怀俄明州 | 2007-03-10T17:00:00Z | 2007-03-10T17:00:00Z | ... |
新墨西哥州 | 2007-03-23T18:42:00Z | 2007-03-23T19:06:00Z | ... |
印第安纳州 | 2007-05-15T14:14:00Z | 2007-05-15T14:14:00Z | ... |
蒙大拿州 | 2007-05-18T14:20:00Z | 2007-05-18T14:20:00Z | ... |
密歇根湖 | 2007-06-07T13:00:00Z | 2007-06-07T13: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_max(Version, *) by Fruit
输出
水果 | 版本 | 颜色 |
---|---|---|
苹果 | 1 | 红色 |
香蕉 | 黄色 | |
梨 | 2 | 绿色 |
arg_max() 函数与 max() 函数不同。 arg_max() 函数允许返回其他列以及最大值,max() 仅返回最大值本身。
查找上次发生直接死亡事件的时间,显示表中的所有列。
查询首先筛选事件,以仅包含至少有一个直接死亡的事件。 然后查询返回具有最近(最大)StartTime 的整行。
StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *)
结果表返回包含指定表达式中最高值的行的所有列。
开始时间 | 结束时间 | EpisodeId | EventId | 状态 | 事件类型 | ... |
---|---|---|---|---|---|---|
2007-12-31T15:00:00Z | 2007-12-31T15:00:00 | 12688 | 69700 | 犹他州 | 雪崩 | ... |
查找上次发生直接死亡事件的时间。
查询将事件筛选为仅包含至少一个直接死亡的事件,然后返回 StartTime 的最大值。
StormEvents
| where DeathsDirect > 0
| summarize max(StartTime)
结果表返回 StartTime 的最大值,而不返回此记录的其他列。
max_StartTime |
---|
2007-12-31T15:00:00Z |