Dela via


arg_max() (sammansättningsfunktion)

Gäller för: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Söker efter en rad i tabellen som maximerar det angivna uttrycket. Den returnerar alla kolumner i indatatabellen eller angivna kolumner.

Not

Den här funktionen används tillsammans med operatorn summarize.

Inaktuella alias: argmax()

Syntax

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

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Krävs Beskrivning
ExprToMaximize string ✔️ Det uttryck som det maximala värdet bestäms för.
ExprToReturn string ✔️ Uttrycket avgör vilka kolumners värden som returneras från raden som har det maximala värdet för ExprToMaximize. Använd ett jokertecken * för att returnera alla kolumner.

Returnerar

Returnerar en rad i tabellen som maximerar det angivna uttrycket ExprToMaximizeoch värdena för kolumner som anges i ExprToReturn.

Dricks

Om du bara vill se maximalt värde använder du funktionen max().

Exempel

Hitta den maximala latitud för en stormhändelse i varje tillstånd.

StormEvents 
| summarize arg_max(BeginLat, BeginLocation) by State

Resultattabellen visar endast de första 10 raderna.

Stat BeginLat BeginLocation
MISSISSIPPI 34.97 BARTON
VERMONT 45 NORRA TROJA
AMERIKANSKA SAMOA -14.2 OFU
HAWAII 22.2113 PRINCEVILLE
MINNESOTA 49.35 ARNESEN
RHODE ISLAND 42 WOONSOCKET
INDIANA 41.73 FREMONT
WEST VIRGINIA 40.62 CHESTER
SOUTH CAROLINA 35.18 LANDRUM
TEXAS 36.4607 DARROUZETT
... ... ...

Leta reda på den senaste gången en händelse med ett direkt dödsfall inträffade i varje tillstånd och visa alla kolumner.

Frågan filtrerar först händelserna så att de endast inkluderar dem där det fanns minst ett direkt dödsfall. Sedan returnerar frågan hela raden med den senaste StartTime.

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

Resultattabellen visar endast de första 10 raderna och de första 3 kolumnerna.

Stat StartTime EndTime ...
GUAM 2007-01-27T11:15:00Z 2007-01-27T11:30:00Z ...
MASSACHUSETTS 2007-02-03T22:00:00Z 2007-02-04T10:00:00Z ...
AMERIKANSKA SAMOA 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 ...
NEW MEXICO 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 ...
LAKE MICHIGAN 2007-06-07T13:00:00Z 2007-06-07T13:00:00Z ...
... ... ... ...

I följande exempel visas null-hantering.

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

utdata

Frukt Version Färg
Äpple 1 Röd
Banan Gul
Päron 2 Grön

Jämförelse med max()

Funktionen arg_max() skiljer sig från funktionen max(). Med funktionen arg_max() kan du returnera ytterligare kolumner tillsammans med det maximala värdet och max() endast returnerar det maximala värdet.

Exempel

arg_max()

Leta reda på den senaste gången en händelse med ett direkt dödsfall inträffade och visa alla kolumner i tabellen.

Frågan filtrerar först händelserna så att de endast inkluderar dem där det fanns minst ett direkt dödsfall. Sedan returnerar frågan hela raden med den senaste (högsta) StartTime.

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

Resultattabellen returnerar alla kolumner för raden som innehåller det högsta värdet i det angivna uttrycket.

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

max()

Hitta den senaste gången en händelse med en direkt död inträffade.

Frågan filtrerar händelser så att de endast inkluderar dem där det finns minst ett direkt dödsfall och returnerar sedan det maximala värdet för StartTime.

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

Resultattabellen returnerar det maximala värdet för StartTime, utan att returnera andra kolumner för den här posten.

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