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

Hitta minsta 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 StartTime EndTime ...
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 Version 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

arg_min()

Leta reda på första gången en händelse med ett direkt dödsfall inträffade, som visar alla kolumner i tabellen.

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, *)

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

StartTime EndTime EpisodeId EventId Stat EventType ...
2007-01-01T00:00:00Z 2007-01-22T18:49:00Z 2408 11929 INDIANA Översvämning ...

min()

Hitta första gången en händelse med en direkt död inträffade.

Frågan filtrerar händelser så att de endast inkluderar dem där det finns minst ett direkt dödsfall och returnerar sedan minimivärdet för 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