Compartilhar via


arg_min() (função de agregação)

Aplica-se a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Localiza uma linha na tabela que minimiza a expressão especificada. Ele retorna todas as colunas da tabela de entrada ou colunas especificadas.

Observação

Essa função é usada em conjunto com o operador summarize.

Apelidos obsoletos: argmin()

Sintaxe

arg_min ( ExprToMinimize,* | ExprToReturn [, ...])

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Digitar Obrigatória Descrição
ExprToMinimize string ✔️ A expressão para a qual o valor mínimo é determinado.
ExprToReturn string ✔️ A expressão determina quais valores de colunas são retornados, da linha que tem o valor mínimo para ExprToMinimize. Use um * curinga para retornar todas as colunas.

Tratamento de nulos

Quando ExprToMinimize é nulo para todas as linhas em uma tabela, uma linha na tabela é escolhida. Caso contrário, as linhas em que ExprToMinimize é nulo serão ignoradas.

Devoluções

Retorna uma linha na tabela que minimiza ExprToMinimizee os valores das colunas especificadas em ExprToReturn. Use ou * para retornar a linha inteira.

Ponta

Para ver apenas o valor mínimo, use a função min().

Exemplos

O exemplo a seguir localiza a latitude máxima de um evento de tempestade em cada estado.

StormEvents 
| summarize arg_min(BeginLat, BeginLocation) by State

Saída

A tabela de resultados mostrada inclui apenas as primeiras 10 linhas.

Estado BeginLat BeginLocation
SAMOA AMERICANA -14.3 PAGO PAGO
CALIFÓRNIA 32.5709 NESTOR
MINESOTA 43,5 BIGELOW
WASHINGTON 45.58 WASHOUGAL
GEÓRGIA 30.67 FARGO
ILINÓIS 37 CAIRO
FLÓRIDA 24.6611 CHAVE DO PÃO DE AÇÚCAR
KENTUCKY 36,5 AVELEIRA
TEXAS 25,92 BROWNSVILLE
OHIO 38.42 SUL PT
... ... ...

Localize a primeira 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 valor mais baixo para StartTime.

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

Saída

A tabela de resultados mostrada inclui apenas as primeiras 10 linhas e as 3 primeiras colunas.

Estado HoraDeInício Hora de término ...
INDIANA 2007-01-01T00:00:00Z 2007-01-22T18:49:00Z ...
FLÓRIDA 2007-01-03T10:55:00Z 2007-01-03T10:55:00Z ...
NEVADA 2007-01-04T09:00:00Z 2007-01-05T14:00:00Z ...
LOUISIANA 2007-01-04T15:45:00Z 2007-01-04T15:52:00Z ...
WASHINGTON 2007-01-09T17:00:00Z 2007-01-09T18:00:00Z ...
CALIFÓRNIA 2007-01-11T22:00:00Z 2007-01-24T10:00:00Z ...
OKLAHOMA 2007-01-12T00:00:00Z 2007-01-18T23:59:00Z ...
MISSOURI 2007-01-13T03:00:00Z 2007-01-13T08:30:00Z ...
TEXAS 2007-01-13T10:30:00Z 2007-01-13T14:30:00Z ...
ARKANSAS 2007-01-14T03:00:00Z 2007-01-14T03:00:00Z ...
... ... ... ...

O exemplo a seguir demonstra o tratamento de nulos.

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_min(Version, *) by Fruit

Saída

Fruta Versão Cor
Maçã 1 Vermelho
Banana Amarelo
Pera 1 Marrom

Comparação com min()

A função arg_min() difere da função min(). A função arg_min() permite que você retorne colunas adicionais juntamente com o valor mínimo e min() retorna apenas o valor mínimo em si.

Exemplos

O exemplo a seguir usa arg_min() para localizar a última vez que um evento com uma morte direta ocorreu em cada estado, mostrando todas as colunas.

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

A tabela de resultados retorna todas as colunas da linha que contém o valor mais baixo na expressão especificada.

HoraDeInício Hora de término EpisodeId EventId Estado Tipo de Evento ...
2007-01-01T00:00:00Z 2007-01-22T18:49:00Z 2408 11929 INDIANA Inundação ...

O exemplo a seguir usa a função min() para localizar a última vez que um evento com uma morte direta ocorreu em cada estado, mas retorna apenas o valor mínimo de StartTime.

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

A tabela de resultados retorna o valor mais baixo somente na coluna específica.

min_StartTime
2007-01-01T00:00:00Z