Partilhar via


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

Aplica-se a: ✅Microsoft FabricAzure Data ExplorerAzure 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

Esta função é usada em conjunto com o operador resumo.

Aliases preteridos: argmin()

Sintaxe

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

Saiba mais sobre convenções de sintaxe.

Parâmetros

Designação Tipo Necessário 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, a partir da linha que tem o valor mínimo para ExprToMinimize. Use um * curinga para retornar todas as colunas.

Tratamento nulo

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

Devoluções

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

Dica

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

Exemplos

Encontre a latitude mínima de um evento de tempestade em cada estado.

StormEvents 
| summarize arg_min(BeginLat, BeginLocation) by State

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
MINNESOTA 43.5 BIGELOW
WASHINGTON 45.58 WASHOUGAL
GEÓRGIA 30.67 FARGO
ILLINOIS 37 CAIRO
FLÓRIDA 24.6611 CHAVE DO PÃO DE AÇÚCAR
KENTUCKY 36.5 HAZEL
TEXAS 25.92 BROWNSVILLE
OHIO 38.42 PT SUL
... ... ...

Encontre 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 menor valor para StartTime.

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

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

Estado Horário de Início Tempo de Fim ...
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 ...
LUISIANA 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 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_min(Version, *) by Fruit

Output

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

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 junto com o valor mínimo, e min() retorna apenas o valor mínimo em si.

Exemplos

arg_min()

Encontre a primeira 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 menor valor para StartTime.

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

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

Horário de Início Tempo de Fim EpisodeId ID do Evento Estado Tipo de Evento ...
2007-01-01T00:00:00Z 2007-01-22T18:49:00Z 2408 11929 INDIANA Inundação ...

min()

Encontre a primeira 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ínimo para 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