Freigeben über


arg_max() (Aggregationsfunktion)

Gilt für: ✅Microsoft Fabric

Sucht eine Zeile in der Tabelle, die den angegebenen Ausdruck maximiert. Sie gibt alle Spalten der Eingabetabelle oder der angegebenen Spalten zurück.

Hinweis

Diese Funktion wird zusammen mit dem Zusammenfassungsoperator verwendet.

Veraltete Aliase: argmax()

Syntax

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

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich Beschreibung
ExprToMaximize string ✔️ Der Ausdruck, für den der Maximalwert bestimmt wird.
ExprToReturn string ✔️ Der Ausdruck bestimmt, welche Spaltenwerte zurückgegeben werden, aus der Zeile mit dem Maximalwert für ExprToMaximize. Verwenden Sie einen Wildcard-*, um alle Spalten zurückzugeben.

Gibt zurück

Gibt eine Zeile in der Tabelle zurück, die den angegebenen Ausdruck ExprToMaximizemaximiert, und die Werte von Spalten, die in ExprToReturnangegeben sind.

Trinkgeld

Verwenden Sie die max()-Funktion, um den maximal zulässigen Wert anzuzeigen.

Beispiele

Finden Sie den maximalen Breitengrad eines Sturmereignisses in jedem Bundesland.

StormEvents 
| summarize arg_max(BeginLat, BeginLocation) by State

In der Ergebnistabelle werden nur die ersten 10 Zeilen angezeigt.

State BeginLat BeginLocation
MISSISSIPPI 34.97 BARTON
VERMONT 45 NORTH TROY
AMERIKANISCH-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
... ... ...

Suchen Sie das letzte Mal, wenn ein Ereignis mit einem direkten Tod in jedem Zustand aufgetreten ist und alle Spalten anzeigt.

Die Abfrage filtert zuerst die Ereignisse, um nur diejenigen einzuschließen, bei denen mindestens ein direkter Tod aufgetreten ist. Anschließend gibt die Abfrage die gesamte Zeile mit der letzten StartZeit zurück.

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

In der Ergebnistabelle werden nur die ersten 10 Zeilen und die ersten 3 Spalten angezeigt.

State StartTime EndTime ...
GUAM 2007-01-27T11:15:00Z 2007-01-27T11:30:00Z ...
MASSACHUSETTS 2007-02-03T22:00:00Z 2007-02-04T10:00:00Z ...
AMERIKANISCH-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 ...
... ... ... ...

Im folgenden Beispiel wird die Nullbehandlung veranschaulicht.

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

Output

Obst Version Color
Apple 1 Rot
Banane Gelb
Birne 2 Grün

Vergleich mit max()

Die funktion arg_max() unterscheidet sich von der max() function. Mit der funktion arg_max() können Sie zusätzliche Spalten zusammen mit dem Maximalwert zurückgeben, und max() nur den Maximalwert selbst zurückgibt.

Beispiele

arg_max()

Suchen Sie das letzte Mal, wenn ein Ereignis mit einem direkten Tod aufgetreten ist, und zeigen Sie alle Spalten in der Tabelle an.

Die Abfrage filtert zuerst die Ereignisse, um nur diejenigen einzuschließen, bei denen mindestens ein direkter Tod aufgetreten ist. Anschließend gibt die Abfrage die gesamte Zeile mit der letzten (maximalen) StartTime zurück.

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

Die Ergebnistabelle gibt alle Spalten für die Zeile zurück, die den höchsten Wert im angegebenen Ausdruck enthält.

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

max()

Suchen Sie das letzte Mal, wenn ein Ereignis mit einem direkten Tod passiert ist.

Die Abfrage filtert Ereignisse, um nur diejenigen einzuschließen, bei denen mindestens ein direkter Tod vorhanden ist, und gibt dann den Maximalwert für StartTime zurück.

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

Die Ergebnistabelle gibt den Maximalwert von StartTime zurück, ohne andere Spalten für diesen Datensatz zurückzugeben.

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