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

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
AMERICAN SAMOA -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 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

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

Estado StartTime EndTime ...
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 Color
Apple 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

arg_min()

Localize a primeira vez que um evento com uma morte direta aconteceu, mostrando todas as colunas da 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 valor mais baixo para StartTime.

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.

StartTime EndTime EpisodeId EventId Estado EventType ...
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 somente aqueles em que há pelo menos uma morte direta e 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