Megosztás a következőn keresztül:


arg_max() (összesítő függvény)

A következőkre vonatkozik: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Megkeres egy sort a táblában, amely maximalizálja a megadott kifejezést. A bemeneti tábla vagy a megadott oszlopok összes oszlopát visszaadja.

Jegyzet

Ez a függvény a összesítő operátorral együtt.

Elavult aliasok: argmax()

Szintaxis

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

További információ szintaxiskonvenciákról.

Paraméterek

Név Típus Szükséges Leírás
ExprToMaximize string ✔️ Az a kifejezés, amelynél a maximális érték van meghatározva.
ExprToReturn string ✔️ A kifejezés meghatározza, hogy mely oszlopok értékei lesznek visszaadva abból a sorból, amely a ExprToMaximizemaximális értékét adja vissza. Az összes oszlop visszaadásához használjon helyettesítő *.

Visszatér

A tábla azon sorát adja vissza, amely maximalizálja a megadott kifejezést ExprToMaximize, valamint az ExprToReturn.

Borravaló

Csak a maximális érték megtekintéséhez használja a max() függvényt.

Példák

A maximális szélesség megkeresése

Az alábbi példa megkeresi a viharesemények maximális szélességét az egyes állapotokban.

StormEvents 
| summarize arg_max(BeginLat, BeginLocation) by State

kimeneti

Az eredménytábla csak az első 10 sort jeleníti meg.

Állam BeginLat BeginLocation
MISSISSIPPI 34.97 BARTON
VERMONT 45 ÉSZAK-TROY
AMERIKAI SZAMOA -14.2 OFU
HAWAII 22.2113 PRINCEVILLE
MINNESOTA 49.35 ARNESEN
RHODE ISLAND 42 WOONSOCKET
INDIANA 41.73 FREMONT
NYUGAT-VIRGINIA 40.62 CHESTER
DÉL-KAROLINA 35.18 LANDRUM
TEXAS 36.4607 DARROUZETT
... ... ...

Az utolsó halálos állapotú esemény megkeresése

Az alábbi példa az összes oszlopot megjelenítő állapotban megkeresi, hogy mikor történt utoljára közvetlen halállal rendelkező esemény.

A lekérdezés először szűri az eseményeket, hogy csak azokat az eseményeket tartalmazza, amelyekben legalább egy közvetlen halál történt. Ezután a lekérdezés a teljes sort adja vissza a legutóbbi StartTime.

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

kimeneti

Az eredménytábla csak az első 10 sort és az első három oszlopot jeleníti meg.

Állam StartTime EndTime ...
GUAM 2007-01-27T11:15:00Z 2007-01-27T11:30:00Z ...
MASSACHUSETTS 2007-02-03T22:00:00Z 2007-02-04T10:00:00Z ...
AMERIKAI SZAMOA 2007-02-17T13:00:00Z 2007-02-18T11:00:00Z ...
IDAHO 2007-02-17T13:00:00Z 2007-02-17T15:00:00Z ...
DELAWARE 2007-02-25T13:00:00Z 2007-02-26T01:00:00Z ...
WYOMING 2007-03-10T17:00:00Z 2007-03-10T17:00:00Z ...
ÚJ-MEXIKÓ 2007-03-23T18:42:00Z 2007-03-23T19:06:00Z ...
INDIANA 2007-05-15T14:14:00Z 2007-05-15T14:14:00Z ...
MONTANA 2007-05-18T14:20:00Z 2007-05-18T14:20:00Z ...
MICHIGAN-TÓ 2007-06-07T13:00:00Z 2007-06-07T13:00:00Z ...
... ... ... ...

Null értékek kezelése

Az alábbi példa a null kezelést mutatja be.

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

kimeneti

Gyümölcs Verzió Szín
Alma 1 Piros
Banán Sárga
Körte 2 Zöld

Összehasonlítás a max() értékhez

A arg_max() függvény eltér a max() függvénytől. A arg_max() függvény lehetővé teszi, hogy a maximális értékkel együtt más oszlopokat is visszaadjon, és max() csak magát a maximális értéket adja vissza.

Példák

arg_max()

Keresse meg az utolsó olyan eseményt, amely közvetlen halállal történt, és a táblázat összes oszlopát megjeleníti.

A lekérdezés először szűri az eseményeket, hogy csak olyan eseményeket tartalmazzon, ahol legalább egy közvetlen halál történt. Ezután a lekérdezés a teljes sort adja vissza a legutóbbi (maximális) StartTime-tal.

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

Az eredménytábla a megadott kifejezés legmagasabb értékét tartalmazó sor összes oszlopát adja vissza.

StartTime EndTime EpisodeId EventId Állam EventType ...
2007-12-31T15:00:00Z 2007-12-31T15:00:00 12688 69700 UTAH Lavina ...

max()

Keresse meg az utolsó alkalommal, amikor egy esemény közvetlen halállal történt.

A lekérdezés szűri az eseményeket, hogy csak olyan eseményeket tartalmazzon, ahol legalább egy közvetlen halál történik, majd visszaadja a StartTime maximális értékét.

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

Az eredménytábla a StartTime maximális értékét adja vissza anélkül, hogy más oszlopokat ad vissza ehhez a rekordhoz.

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