Compartir a través de


arg_max() (función de agregación)

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Busca una fila en la tabla que maximiza la expresión especificada. Devuelve todas las columnas de la tabla de entrada o columnas especificadas.

Nota:

Esta función se usa junto con el operador summarize.

Alias en desuso: argmax()

Sintaxis

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

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Type Obligatorio Descripción
ExprToMaximize string ✔️ Expresión para la que se determina el valor máximo.
ExprToReturn string ✔️ La expresión determina los valores de las columnas que se devuelven, de la fila que tiene el valor máximo de ExprToMaximize. Use un * comodín para devolver todas las columnas.

Devoluciones

Devuelve una fila de la tabla que maximiza la expresión especificada ExprToMaximizey los valores de las columnas especificadas en ExprToReturn.

Propina

Para ver solo el valor máximo, use la función max() .

Ejemplos

Busque la latitud máxima de un evento de tormenta en cada estado.

StormEvents 
| summarize arg_max(BeginLat, BeginLocation) by State

La tabla de resultados muestra solo las primeras 10 filas.

Valor BeginLat BeginLocation
MISISIPÍ 34.97 BARTON
VERMONT 45 TROYA NORTE
AMERICAN SAMOA -14.2 OFU
HAWAII 22.2113 PRINCEVILLE
MINNESOTA 49.35 ARNESEN
RHODE ISLAND 42 WOONSOCKET
INDIANA 41.73 FREMONT
VIRGINIA OCCIDENTAL 40.62 CHESTER
SOUTH CAROLINA 35.18 LANDRUM
TEXAS 36.4607 DARROUZETT
... ... ...

Busque la última vez que se produjo un evento con una muerte directa en cada estado, mostrando todas las columnas.

La consulta filtra primero los eventos para incluir solo aquellos en los que hubo al menos una muerte directa. A continuación, la consulta devuelve toda la fila con startTime más reciente.

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

La tabla de resultados muestra solo las primeras 10 filas y las primeras 3 columnas.

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

En el ejemplo siguiente se muestra el control nulo.

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

Salida

Frutas Versión Color
Apple 1 Rojo
Plátano Amarillo
Pera 2 Verde

Comparación con max()

La función arg_max() difiere de la función max() de . La función arg_max() permite devolver columnas adicionales junto con el valor máximo y max() solo devuelve el valor máximo.

Ejemplos

arg_max()

Busque la última vez que se produjo un evento con una muerte directa, mostrando todas las columnas de la tabla.

La consulta filtra primero los eventos para incluir solo aquellos en los que hubo al menos una muerte directa. A continuación, la consulta devuelve toda la fila con startTime más reciente (máximo).

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

La tabla de resultados devuelve todas las columnas de la fila que contiene el valor más alto de la expresión especificada.

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

max()

Encuentra la última vez que ocurrió un evento con una muerte directa.

La consulta filtra los eventos para incluir solo aquellos en los que haya al menos una muerte directa y, a continuación, devuelve el valor máximo de StartTime.

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

La tabla de resultados devuelve el valor máximo de StartTime, sin devolver otras columnas para este registro.

max_StartTime
2007-12-31T15:00:00Z
  • de función máxima
  • de función mínima
  • de función promedio
  • de función percentil