arg_max() (fungsi agregasi)

Beralih layanan menggunakan menu tarik-turun Versi. Pelajari selengkapnya tentang navigasi.
Berlaku untuk: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel

Menemukan baris dalam tabel yang memaksimalkan ekspresi yang ditentukan. Ini mengembalikan semua kolom tabel input atau kolom yang ditentukan.

Catatan

Fungsi ini digunakan bersama dengan ringkasan operator.

Alias yang tidak digunakan lagi: argmax()

Sintaks

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

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Tipe Wajib Deskripsi
ExprToMaximize string ✔️ Ekspresi yang nilai maksimumnya ditentukan.
ExprToReturn string ✔️ Ekspresi menentukan nilai kolom mana yang dikembalikan, dari baris yang memiliki nilai maksimum untuk ExprToMaximize. Gunakan kartubebas * untuk mengembalikan semua kolom.

Mengembalikan

Mengembalikan baris dalam tabel yang memaksimalkan ekspresi yang ditentukan ExprToMaximize, dan nilai kolom yang ditentukan dalam ExprToReturn.

Ujung

Untuk melihat nilai maksimal saja, gunakan fungsi maks() .

Contoh

Contoh umum

Contoh berikut menemukan garis lintang maksimum peristiwa badai di setiap status.

StormEvents 
| summarize arg_max(BeginLat, BeginLocation) by State

Hasil

Tabel hasil hanya akan menampilkan 10 baris pertama.

Status BeginLat BeginLocation
MISSISSIPPI 34,97 BARTON
VERMONT 45 TROY UTARA
SAMOA AMERIKA -14,2 OFU
HAWAII 22,2113 PRINCEVILLE
MINNESOTA 49,35 ARNESEN
PULAU RHODE 42 WOONSOCKET
INDIANA 41,73 FREMONT
VIRGINIA BARAT 40,62 CHESTER
CAROLINA SELATAN 35,18 LANDRUM
TEXAS 36,4607 DARROUZETT
... ... ...

Contoh berikut menemukan terakhir kali peristiwa dengan kematian langsung terjadi di setiap status, memperlihatkan semua kolom.

Kueri pertama-tama memfilter peristiwa untuk menyertakan hanya peristiwa di mana setidaknya ada satu kematian langsung. Kemudian kueri mengembalikan seluruh baris dengan StartTimeterbaru.

StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *) by State

Hasil

Tabel hasil hanya menampilkan 10 baris pertama dan tiga kolom pertama.

Status Waktu Mulai Waktu Selesai ...
GUAM 27-01-2007T11:15:00Z 27-01-2007T11:30:00Z ...
MASSACHUSETTS 03-02-2007T22:00:00Z 04-02-2007T10:00:00Z ...
SAMOA AMERIKA 17-02-2007T13:00:00Z 18-02-2007T11:00:00Z ...
IDAHO 17-02-2007T13:00:00Z 17-02-2007T15:00:00Z ...
DELAWARE 25-02-2007T13:00:00Z 26-02-2007T01:00:00Z ...
WYOMING 10-03-2007T17:00:00Z 10-03-2007T17:00:00Z ...
MEKSIKO BARU 23-03-2007T18:42:00Z 23-03-2007T19:06:00Z ...
INDIANA 15-05-2007T14:14:00Z 15-05-2007T14:14:00Z ...
MONTANA 18-05-2007T14:20:00Z 18-05-2007T14:20:00Z ...
DANAU MICHIGAN 07-06-2007T13:00:00Z 07-06-2007T13:00:00Z ...
... ... ... ...

Contoh berikut menampilkan penanganan 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

Hasil

Buah Versi Warna
Apel 1 Merah
Pisang Kuning
Pir 2 Hijau

Contoh yang membandingkan arg_max() dan maks()

Fungsi arg_max() berbeda dari fungsi maks() . Fungsi arg_max() memungkinkan Anda mengembalikan kolom lain bersama dengan nilai maksimum, dan maks() hanya mengembalikan nilai maksimum itu sendiri.

Contoh berikut menggunakan arg_max() untuk menemukan terakhir kali peristiwa dengan kematian langsung terjadi di setiap status, memperlihatkan semua kolom. Kueri pertama-tama memfilter peristiwa untuk hanya menyertakan peristiwa di mana setidaknya ada satu kematian langsung. Kemudian kueri mengembalikan seluruh baris dengan StartTime terbaru (maksimum).

StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *)

Tabel hasil mengembalikan semua kolom untuk baris yang berisi nilai tertinggi dalam ekspresi yang ditentukan.

Waktu Mulai Waktu Selesai EpisodeId EventId Status Jenis Acara ...
2007-12-31T15:00:00Z 2007-12-31T15:00:00 12688 69700 UTAH Longsor ...

Contoh berikut menggunakan fungsi max() untuk menemukan terakhir kali peristiwa dengan kematian langsung terjadi di setiap status, tetapi hanya mengembalikan nilai maksimum StartTime.

StormEvents
| where DeathsDirect > 0
| summarize max(StartTime)

Tabel hasil mengembalikan nilai maksimum StartTime, tanpa mengembalikan kolom lain untuk rekaman ini.

max_StartTime
2007-12-31T15:00:00Z