arg_max() (集計関数)
適用対象: ✅Microsoft Fabric✅Azure データ エクスプローラー✅Azure Monitor✅Microsoft Sentinel
指定した式を最大化するテーブル内の行を検索します。 入力テーブルまたは指定した列のすべての列が返されます。
Note
この関数は、summarize 演算子と組み合わせて使用します。
非推奨のエイリアス: argmax()
構文
arg_max
(
ExprToMaximize,
* | ExprToReturn [,
...])
構文規則について詳しく知る。
パラメーター
件名 | タイプ | Required | 説明 |
---|---|---|---|
ExprToMaximize | string |
✔️ | 最大値が決定される式。 |
ExprToReturn | string |
✔️ | 式は、ExprToMaximizeの最大値を持つ行から、返される列の値 * を使用して、すべての列を返します。 |
返品
ExprToMaximize
先端
最大値のみを表示するには、max() 関数を使用します。
例
各状態の Storm イベントの最大緯度を検索します。
StormEvents
| summarize arg_max(BeginLat, BeginLocation) by State
結果テーブルには、最初の 10 行のみが表示されます。
都道府県 | BeginLat | BeginLocation |
---|---|---|
MISSISSIPPI | 34.97 | バートン |
バーモント | 45 | ノーストロイ |
AMERICAN SAMOA | -14.2 | OFU |
HAWAII | 22.2113 | プリンスビル |
ミネソタ | 49.35 | アーネセン |
ロードアイランド | 42 | ウーンソケット |
インディアナ | 41.73 | フリーモント |
WEST VIRGINIA | 40.62 | チェスター |
サウスカロライナ | 35.18 | ランドラム |
テキサス州 | 36.4607 | ダロウゼット |
... | ... | ... |
直接死亡したイベントが各州で最後に発生し、すべての列が表示された時刻を見つけます。
クエリでは、最初にイベントがフィルター処理され、少なくとも 1 つの直接死があったイベントのみが含まれます。 その後、クエリは、最新の StartTime を含む行全体を返します。
StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *) by State
結果テーブルには、最初の 10 行と最初の 3 列のみが表示されます。
都道府県 | StartTime | EndTime | ... |
---|---|---|---|
グアム | 2007-01-27T11:15:00Z | 2007-01-27T11:30:00Z | ... |
マサチューセッツ | 2007-02-03T22:00:00Z | 2007-02-04T10:00:00Z | ... |
AMERICAN SAMOA | 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 | ... |
WYOMING | 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 | ... |
LAKE MICHIGAN | 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
出力
Fruit | バージョン | 色 |
---|---|---|
Apple | 1 | [赤] |
Banana | 黄 | |
Pear | 2 | [緑] |
max() との比較
arg_max() 関数は、max() 関数とは異なります。 arg_max() 関数を使用すると、最大値と共に追加の列を返すことができます。max() は最大値自体のみを返します。
例
arg_max()
直接死亡したイベントが最後に発生した時刻を見つけ、テーブル内のすべての列を表示します。
クエリでは、最初にイベントがフィルター処理され、少なくとも 1 つの直接死があったイベントのみが含まれます。 次に、クエリは、最新の (最大) StartTime を持つ行全体を返します。
StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *)
結果テーブルは、指定された式の中で最も高い値を含む行のすべての列を返します。
StartTime | EndTime | EpisodeId | EventId | 都道府県 | EventType | ... |
---|---|---|---|---|---|---|
2007-12-31T15:00:00Z | 2007-12-31T15:00:00 | 12688 | 69700 | ユタ州 | 雪崩 | ... |
max()
直接死亡したイベントが最後に発生した時刻を見つけます。
クエリは、少なくとも 1 つの直接死があるイベントのみを含むようにイベントをフィルター処理し、StartTime の最大値を返します。
StormEvents
| where DeathsDirect > 0
| summarize max(StartTime)
結果テーブルは、このレコードの他の列を返さずに、StartTime の最大値を返します。
max_StartTime |
---|
2007-12-31T15:00:00Z |