Bagikan melalui


arg_max() (aggregation function)

Berlaku untuk: ✅Microsoft Fabric✅

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

Temukan garis lintang maksimum

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
RHODE ISLAND 42 WOONSOCKET
INDIANA 41,73 FREMONT
WEST VIRGINIA 40,62 CHESTER
CAROLINA SELATAN 35,18 LANDRUM
TEXAS 36,4607 DARROUZETT
... ... ...

Temukan peristiwa fatal status terakhir

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 StartTime EndTime ...
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 ...
... ... ... ...

Menangani null

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
Apple 1 Merah
Pisang Kuning
Pir 2 Hijau

Perbandingan dengan max()

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

arg_max()

Temukan terakhir kali peristiwa dengan kematian langsung terjadi, memperlihatkan semua kolom dalam tabel.

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.

StartTime EndTime EpisodeId EventId Status EventType ...
2007-12-31T15:00:00Z 2007-12-31T15:00:00 12688 69700 UTAH Longsor ...

max()

Temukan terakhir kali peristiwa dengan kematian langsung terjadi.

Kueri memfilter peristiwa untuk hanya menyertakan peristiwa di mana setidaknya ada satu kematian langsung, lalu mengembalikan nilai maksimum untuk 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