arg_max() (funzione di aggregazione)
Si applica a: ✅Microsoft Fabric✅
Trova una riga nella tabella che ottimizza l'espressione specificata. Restituisce tutte le colonne della tabella di input o delle colonne specificate.
Alias deprecati: argmax()
Sintassi
arg_max
(
ExprToMaximize,
* | ExprToReturn [,
...])
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
ExprToMaximize | string |
✔️ | Espressione per cui viene determinato il valore massimo. |
ExprToReturn | string |
✔️ | L'espressione determina i valori delle colonne restituite, dalla riga con il valore massimo per ExprToMaximize. Utilizzare un * con caratteri jolly per restituire tutte le colonne. |
Valori restituiti
Restituisce una riga nella tabella che ottimizza l'espressione specificata ExprToMaximizee i valori delle colonne specificate in ExprToReturn.
Mancia
Per visualizzare solo il valore massimo, usare la funzione max().
Esempi
Trovare la latitudine massima
Nell'esempio seguente viene trovata la latitudine massima di un evento storm in ogni stato.
StormEvents
| summarize arg_max(BeginLat, BeginLocation) by State
Output
Nella tabella dei risultati vengono visualizzate solo le prime 10 righe.
Provincia | BeginLat | BeginLocation |
---|---|---|
MISSISSIPPI | 34.97 | BARTON |
VERMONT | 45 | TROY NORD |
SAMOA AMERICANE | -14.2 | OFU |
HAWAII | 22.2113 | PRINCEVILLE |
MINNESOTA | 49.35 | ARNESEN |
RHODE ISLAND | 42 | WOONSOCKET |
INDIANA | 41.73 | FREMONT |
VIRGINIA OCCIDENTALE | 40.62 | CHESTER |
SOUTH CAROLINA | 35.18 | LANDRUM |
TEXAS | 36.4607 | DARROUZETT |
... | ... | ... |
Trovare l'ultimo evento irreversibile dello stato
L'esempio seguente trova l'ultima volta che si è verificato un evento con un decesso diretto in ogni stato, mostrando tutte le colonne.
La query filtra prima gli eventi in modo da includere solo gli eventi in cui si è verificato almeno un decesso diretto. La query restituisce quindi l'intera riga con l'StartTime
più recente.
StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *) by State
Output
Nella tabella dei risultati vengono visualizzate solo le prime 10 righe e le prime tre colonne.
Provincia | StartTime | EndTime | ... |
---|---|---|---|
GUAM | 2007-01-27T11:15:00Z | 2007-01-27T11:30:00Z | ... |
MASSACHUSETTS | 2007-02-03T22:00:00Z | 2007-02-04T10:00:00Z | ... |
SAMOA AMERICANE | 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 | ... |
LAGO MICHIGAN | 2007-06-07T13:00:00Z | 2007-06-07T13:00:00Z | ... |
... | ... | ... | ... |
Gestire i valori Null
Nell'esempio seguente viene illustrata la gestione dei valori Null.
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
Frutta | Versione | Color |
---|---|---|
Apple | 1 | Rosso |
Banana | Giallo | |
Pera | 2 | Verde |
Confronto con max()
La funzione arg_max() è diversa dalla funzione max(). La funzione arg_max() consente di restituire altre colonne insieme al valore massimo e max() restituisce solo il valore massimo stesso.
Esempi
arg_max()
Trovare l'ultima volta che si è verificato un evento con un decesso diretto, visualizzando tutte le colonne della tabella.
La query filtra prima gli eventi in modo da includere solo gli eventi in cui si è verificato almeno un decesso diretto. La query restituisce quindi l'intera riga con il valore StartTime più recente (massimo).
StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *)
La tabella dei risultati restituisce tutte le colonne per la riga contenente il valore più alto nell'espressione specificata.
StartTime | EndTime | EpisodeId | EventId | Provincia | EventType | ... |
---|---|---|---|---|---|---|
2007-12-31T15:00:00Z | 2007-12-31T15:00:00 | 12688 | 69700 | UTAH | Valanga | ... |
max()
Trovare l'ultima volta che si è verificato un evento con una morte diretta.
La query filtra gli eventi in modo da includere solo gli eventi in cui è presente almeno un decesso diretto e quindi restituisce il valore massimo per StartTime.
StormEvents
| where DeathsDirect > 0
| summarize max(StartTime)
La tabella dei risultati restituisce il valore massimo di StartTime, senza restituire altre colonne per questo record.
max_StartTime |
---|
2007-12-31T15:00:00Z |