arg_max() (aggregatiefunctie)
Van toepassing op: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel-
Hiermee zoekt u een rij in de tabel waarmee de opgegeven expressie wordt gemaximaliseerd. Hiermee worden alle kolommen van de invoertabel of de opgegeven kolommen geretourneerd.
Notitie
Deze functie wordt gebruikt in combinatie met de operator summarize.
afgeschafte aliassen: argmax()
Syntaxis
arg_max
(
ExprToMaximize,
* | ExprToReturn [,
...])
Meer informatie over syntaxisconventies.
Parameters
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
ExprToMaximize- | string |
✔️ | De expressie waarvoor de maximumwaarde wordt bepaald. |
ExprToReturn- | string |
✔️ | De expressie bepaalt welke waarden van kolommen worden geretourneerd, in de rij met de maximumwaarde voor ExprToMaximize-. Gebruik een jokerteken * om alle kolommen te retourneren. |
Retourneert
Retourneert een rij in de tabel waarmee de opgegeven expressie wordt gemaximaliseerd ExprToMaximize-en de waarden van kolommen die zijn opgegeven in ExprToReturn-.
Fooi
Als u alleen de maximale waarde wilt zien, gebruikt u de functie max().
Voorbeelden
Zoek de maximale breedtegraad van een storm gebeurtenis in elke status.
StormEvents
| summarize arg_max(BeginLat, BeginLocation) by State
In de resultatentabel worden alleen de eerste 10 rijen weergegeven.
Staat | BeginLat | BeginLocation |
---|---|---|
MISSISSIPPI | 34.97 | BARTON |
VERMONT | 45 | NOORD-TROJE |
AMERIKAANS-SAMOA | -14.2 | OFU |
HAWAÏ | 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 |
... | ... | ... |
Zoek de laatste keer dat een gebeurtenis met een directe dood in elke staat is opgetreden, met alle kolommen.
De query filtert eerst de gebeurtenissen om alleen de gebeurtenissen op te nemen waarbij ten minste één directe dood is. Vervolgens retourneert de query de hele rij met de meest recente StartTime.
StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *) by State
In de resultatentabel worden alleen de eerste 10 rijen en eerste drie kolommen weergegeven.
Staat | StartTime | EndTime | ... |
---|---|---|---|
GUAM | 2007-01-27T11:15:00Z | 2007-01-27T11:30:00Z | ... |
MASSACHUSETTS | 2007-02-03T22:00:00Z | 2007-02-04T10:00:00Z | ... |
AMERIKAANS-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 | ... |
NIEUW 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 | ... |
... | ... | ... | ... |
In het volgende voorbeeld ziet u null-verwerking.
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
uitvoer
Vrucht | Versie | Kleur |
---|---|---|
Appel | 1 | Rood |
Banaan | Geel | |
Peer | 2 | Groen |
Vergelijking met max()
De functie arg_max() verschilt van de functie max(). Met de functie arg_max() kunt u extra kolommen retourneren, samen met de maximumwaarde en max() alleen de maximumwaarde zelf retourneert.
Voorbeelden
arg_max()
Zoek de laatste keer dat een gebeurtenis met een directe dood is gebeurd, met alle kolommen in de tabel.
De query filtert eerst de gebeurtenissen om alleen de gebeurtenissen op te nemen waarbij ten minste één directe dood is. Vervolgens retourneert de query de hele rij met de meest recente (maximum) StartTime.
StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *)
De resultatentabel retourneert alle kolommen voor de rij met de hoogste waarde in de opgegeven expressie.
StartTime | EndTime | EpisodeId | EventId | Staat | EventType | ... |
---|---|---|---|---|---|---|
2007-12-31T15:00:00Z | 2007-12-31T15:00:00 | 12688 | 69700 | UTAH | Lawine | ... |
max()
Vind de laatste keer dat een gebeurtenis met een directe dood is gebeurd.
De query filtert gebeurtenissen om alleen gebeurtenissen op te nemen waarbij ten minste één directe dood is en retourneert vervolgens de maximumwaarde voor StartTime.
StormEvents
| where DeathsDirect > 0
| summarize max(StartTime)
De resultatentabel retourneert de maximumwaarde van StartTime, zonder dat er andere kolommen voor deze record worden geretourneerd.
max_StartTime |
---|
2007-12-31T15:00:00Z |