次の方法で共有


arg_max() (集計関数)

適用対象: ✅Microsoft FabricAzure データ エクスプローラーAzure MonitorMicrosoft Sentinel

指定した式を最大化するテーブル内の行を検索します。 入力テーブルまたは指定した列のすべての列が返されます。

Note

この関数は、summarize 演算子と組み合わせて使用します。

非推奨のエイリアス: argmax()

構文

arg_max ( ExprToMaximize,* | ExprToReturn [, ...])

構文規則について詳しく知る。

パラメーター

件名 タイプ Required 説明
ExprToMaximize string ✔️ 最大値が決定される式。
ExprToReturn string ✔️ 式は、ExprToMaximizeの最大値を持つ行から、返される列の値 決定します。 ワイルドカード * を使用して、すべての列を返します。

返品

ExprToMaximize指定された式と、exprToReturnで指定された列の値 最大化するテーブル内の行を返します。

先端

最大値のみを表示するには、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
  • 最大関数 を する
  • min 関数 を する
  • avg 関数 を する
  • パーセンタイル関数