Dela via


arg_min() (sammansättningsfunktion)

Gäller för: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Söker efter en rad i tabellen som minimerar det angivna uttrycket. Den returnerar alla kolumner i indatatabellen eller angivna kolumner.

Not

Den här funktionen används tillsammans med operatorn summarize.

Inaktuella alias: argmin()

Syntax

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

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Krävs Beskrivning
ExprToMinimize string ✔️ Det uttryck som minimivärdet bestäms för.
ExprToReturn string ✔️ Uttrycket avgör vilka kolumners värden som returneras från den rad som har minimivärdet för ExprToMinimize. Använd ett jokertecken * för att returnera alla kolumner.

Null-hantering

När ExprToMinimize är null för alla rader i en tabell väljs en rad i tabellen. Annars ignoreras rader där ExprToMinimize är null.

Returnerar

Returnerar en rad i tabellen som minimerar ExprToMinimizeoch värdena för kolumner som anges i ExprToReturn. Använd eller * för att returnera hela raden.

Dricks

Om du bara vill se det minimala värdet använder du funktionen min().

Exempel

I följande exempel hittas den maximala latitud för en stormhändelse i varje tillstånd.

StormEvents 
| summarize arg_min(BeginLat, BeginLocation) by State

utdata

Resultattabellen som visas innehåller endast de första 10 raderna.

Stat BeginLat BeginLocation
AMERIKANSKA SAMOA -14.3 PAGO PAGO
KALIFORNIEN 32.5709 NESTOR
MINNESOTA 43.5 BIGELOW
WASHINGTON 45.58 WASHOUGAL
GEORGIEN 30.67 FARGO
ILLINOIS 37 KAIRO
FLORIDA 24.6611 SUGARLOAF-NYCKEL
KENTUCKY 36.5 HASSEL
TEXAS 25.92 BROWNSVILLE
OHIO 38.42 SÖDRA PT
... ... ...

Hitta första gången en händelse med ett direkt dödsfall inträffar i varje tillstånd, som visar alla kolumner.

Frågan filtrerar först händelserna så att de endast inkluderar dem där det fanns minst ett direkt dödsfall. Sedan returnerar frågan hela raden med det lägsta värdet för StartTime.

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

utdata

Resultattabellen som visas innehåller endast de första 10 raderna och de första 3 kolumnerna.

Stat Starttid Sluttid ...
INDIANA 2007-01-01T00:00:00Z 2007-01-22T18:49:00Z ...
FLORIDA 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 ...
KALIFORNIEN 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 ...
... ... ... ...

I följande exempel visas null-hantering.

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

utdata

Frukt Utgåva Färg
Äpple 1 Röd
Banan Gul
Päron 1 Brun

Jämförelse med min()

Funktionen arg_min() skiljer sig från funktionen min(). Med funktionen arg_min() kan du returnera ytterligare kolumner tillsammans med minimivärdet, och min() returnerar bara själva minimivärdet.

Exempel

I följande exempel används arg_min() för att hitta den senaste gången en händelse med ett direkt dödsfall inträffade i varje tillstånd, som visar alla kolumner.

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

Resultattabellen returnerar alla kolumner för raden som innehåller det lägsta värdet i det angivna uttrycket.

Starttid Sluttid EpisodeId EventId Stat Evenemangstyp ...
2007-01-01T00:00:00Z 2007-01-22T18:49:00Z 2408 11929 INDIANA Översvämning ...

I följande exempel används funktionen min() för att hitta den senaste gången en händelse med ett direkt dödsfall inträffade i varje tillstånd, men returnerar bara minimivärdet StartTime.

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

Resultattabellen returnerar endast det lägsta värdet i den specifika kolumnen.

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