Partager via


arg_max() (fonction d’agrégation)

S’applique à : ✅Microsoft Fabric

Recherche une ligne dans la table qui agrandit l’expression spécifiée. Elle retourne toutes les colonnes de la table d’entrée ou des colonnes spécifiées.

Remarque

Cette fonction est utilisée conjointement avec l’opérateur de synthèse.

Alias déconseillés : argmax()

Syntaxe

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

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
ExprToMaximize string ✔️ Expression pour laquelle la valeur maximale est déterminée.
ExprToReturn string ✔️ L’expression détermine les valeurs des colonnes retournées, à partir de la ligne qui a la valeur maximale pour ExprToMaximize. Utilisez un * générique pour retourner toutes les colonnes.

Retours

Retourne une ligne dans la table qui agrandit l’expression spécifiée ExprToMaximizeet les valeurs des colonnes spécifiées dans ExprToReturn.

Pourboire

Pour afficher la valeur maximale uniquement, utilisez la fonction max().

Exemples

Recherchez la latitude maximale d’un événement de tempête dans chaque état.

StormEvents 
| summarize arg_max(BeginLat, BeginLocation) by State

Le tableau des résultats affiche uniquement les 10 premières lignes.

État BeginLat BeginLocation
MISSISSIPPI 34.97 BARTON
VERMONT 45 TROY NORD
SAMOA AMÉRICAINES -14.2 OFU
HAWAII 22.2113 PRINCEVILLE
MINNESOTA 49.35 ARNESEN
RHODE ISLAND 42 WOONSOCKET
INDIANA 41.73 FREMONT
VIRGINIE-OCCIDENTALE 40.62 CHESTER
CAROLINE DU SUD 35.18 LANDRUM
TEXAS 36.4607 DARROUZETT
... ... ...

Recherchez la dernière fois qu’un événement avec une mort directe s’est produit dans chaque état, affichant toutes les colonnes.

La requête filtre d’abord les événements pour inclure uniquement ceux où il y avait au moins une mort directe. Ensuite, la requête retourne la ligne entière avec le StartTime le plus récent.

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

Le tableau des résultats affiche uniquement les 10 premières lignes et les 3 premières colonnes.

État 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 AMÉRICAINES 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 ...
NOUVEAU-MEXIQUE 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 ...
LAC MICHIGAN 2007-06-07T13:00:00Z 2007-06-07T13:00:00Z ...
... ... ... ...

L’exemple suivant illustre la gestion 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

Sortie

Fruit Version Couleur
Apple 1 Rouge
Banane Jaune
Poire 2 Vert

Comparaison à max()

La fonction arg_max() diffère de la fonction max(). La fonction arg_max() vous permet de retourner des colonnes supplémentaires avec la valeur maximale, et max() retourne uniquement la valeur maximale elle-même.

Exemples

arg_max()

Recherchez la dernière fois qu’un événement avec une mort directe s’est produit, affichant toutes les colonnes de la table.

La requête filtre d’abord les événements pour inclure uniquement ceux où il y avait au moins une mort directe. Ensuite, la requête retourne la ligne entière avec l’heure de début (maximale) la plus récente.

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

La table de résultats retourne toutes les colonnes de la ligne contenant la valeur la plus élevée dans l’expression spécifiée.

StartTime EndTime EpisodeId EventId État EventType ...
2007-12-31T15:00:00Z 2007-12-31T15:00:00 12688 69700 UTAH Avalanche ...

max()

Recherchez la dernière fois qu’un événement avec un décès direct s’est produit.

La requête filtre les événements pour inclure uniquement ceux où il y a au moins une mort directe, puis retourne la valeur maximale pour StartTime.

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

La table de résultats retourne la valeur maximale de StartTime, sans retourner d’autres colonnes pour cet enregistrement.

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