arg_max() (sammansättningsfunktion)
Gäller för: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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 |