arg_max() (função de agregação)
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Localiza uma linha na tabela que maximiza a expressão especificada. Ele retorna todas as colunas da tabela de entrada ou colunas especificadas.
Observação
Esta função é usada em conjunto com o operador resumo.
Aliases preteridos: argmax()
Sintaxe
arg_max
(
ExprToMaximize,
* | ExprToReturn [,
...])
Saiba mais sobre convenções de sintaxe.
Parâmetros
Designação | Tipo | Necessário | Descrição |
---|---|---|---|
ExprToMaximize | string |
✔️ | A expressão para a qual o valor máximo é determinado. |
ExprToReturn | string |
✔️ | A expressão determina quais valores de colunas são retornados, a partir da linha que tem o valor máximo para ExprToMaximize. Use um * curinga para retornar todas as colunas. |
Devoluções
Retorna uma linha na tabela que maximiza a expressão especificada ExprToMaximizee os valores das colunas especificadas em ExprToReturn.
Dica
Para ver apenas o valor máximo, use a função max().
Exemplos
Encontre a latitude máxima de um evento de tempestade em cada estado.
StormEvents
| summarize arg_max(BeginLat, BeginLocation) by State
A tabela de resultados exibe apenas as primeiras 10 linhas.
Estado | BeginLat | BeginLocation |
---|---|---|
MISSISSIPPI | 34.97 | BARTON |
VERMONT | 45 | TROIA NORTE |
SAMOA AMERICANA | -14.2 | OFU |
HAVAI | 22.2113 | PRINCEVILLE |
MINNESOTA | 49.35 | ARNESEN |
ILHA RHODE | 42 | WOONSOCKET |
INDIANA | 41.73 | FREMONT |
VIRGÍNIA OCIDENTAL | 40.62 | CHESTER |
CAROLINA DO SUL | 35.18 | LANDRUM |
TEXAS | 36.4607 | DARROUZETT |
... | ... | ... |
Encontre a última vez que um evento com uma morte direta aconteceu em cada estado, mostrando todas as colunas.
A consulta primeiro filtra os eventos para incluir apenas aqueles em que houve pelo menos uma morte direta. Em seguida, a consulta retorna a linha inteira com o StartTime mais recente.
StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *) by State
A tabela de resultados exibe apenas as primeiras 10 linhas e as 3 primeiras colunas.
Estado | Horário de Início | Tempo de Fim | ... |
---|---|---|---|
GUAM | 2007-01-27T11:15:00Z | 2007-01-27T11:30:00Z | ... |
MASSACHUSETTS | 2007-02-03T22:00:00Z | 2007-02-04T10:00:00Z | ... |
SAMOA AMERICANA | 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 | ... |
NOVO MÉXICO | 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 | ... |
... | ... | ... | ... |
O exemplo a seguir demonstra manipulação nula.
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
Fruta | Versão | Cor |
---|---|---|
Maçã | 1 | Vermelho |
Banana | Amarelo | |
Pera | 2 | Verde |
Comparação com max()
A função arg_max() difere da função max(). A função arg_max() permite que você retorne colunas adicionais junto com o valor máximo, e max() retorna apenas o valor máximo em si.
Exemplos
arg_max()
Encontre a última vez que um evento com uma morte direta aconteceu, mostrando todas as colunas na tabela.
A consulta primeiro filtra os eventos para incluir apenas aqueles em que houve pelo menos uma morte direta. Em seguida, a consulta retorna a linha inteira com o StartTime (máximo) mais recente.
StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *)
A tabela de resultados retorna todas as colunas da linha que contém o valor mais alto na expressão especificada.
Horário de Início | Tempo de Fim | EpisodeId | ID do Evento | Estado | Tipo de Evento | ... |
---|---|---|---|---|---|---|
2007-12-31T15:00:00Z | 2007-12-31T15:00:00 | 12688 | 69700 | UTAH | Avalanche | ... |
máx()
Encontre a última vez que um evento com uma morte direta aconteceu.
A consulta filtra eventos para incluir apenas aqueles em que há pelo menos uma morte direta e, em seguida, retorna o valor máximo para StartTime.
StormEvents
| where DeathsDirect > 0
| summarize max(StartTime)
A tabela de resultados retorna o valor máximo de StartTime, sem retornar outras colunas para esse registro.
max_StartTime |
---|
2007-12-31T15:00:00Z |