Sdílet prostřednictvím


arg_min() (agregační funkce)

Platí pro: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Najde řádek v tabulce, který minimalizuje zadaný výraz. Vrátí všechny sloupce vstupní tabulky nebo zadané sloupce.

Poznámka:

Tato funkce se používá ve spojení s operátorem sumarizace.

Zastaralé aliasy: argmin()

Syntaxe

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

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Type Požadováno Popis
VýrazToMinimize string ✔️ Výraz, pro který je určena minimální hodnota.
VýrazToReturn string ✔️ Výraz určuje, které sloupce jsou vráceny hodnoty, z řádku, který má minimální hodnotu pro ExprToMinimize. K vrácení všech sloupců použijte zástupný znak *.

Zpracování null

Když ExprToMinimize má hodnotu null pro všechny řádky v tabulce, vybere se jeden řádek v tabulce. V opačném případě se řádky, ve kterých výraz ExprToMinimize má hodnotu null, ignorují.

Návraty

Vrátí řádek v tabulce, který minimalizuje ExprToMinimizea hodnoty sloupců zadaných v ExprToReturn. Použijte nebo * vraťte celý řádek.

Spropitné

Pokud chcete zobrazit pouze minimální hodnotu, použijte funkci min().

Příklady

Najděte minimální zeměpisnou šířku události bouře v každém stavu.

StormEvents 
| summarize arg_min(BeginLat, BeginLocation) by State

Zobrazená tabulka výsledků obsahuje pouze prvních 10 řádků.

State BeginLat Počáteční poloha
AMERICKÁ SAMOA -14.3 PAGO PAGO
KALIFORNIE 32.5709 NESTOR
MINNESOTA 43.5 BIGELOW
WASHINGTONSKÝ 45.58 WASHOUGAL
GEORGIA 30.67 FARGO
ILLINOIS 37 KÁHIRA
FLORIDA 24.6611 KLÍČ SUGARLOAF
KENTUCKY 36.5 LÍSKA
TEXAS 25.92 BROWNSVILLE
OHIO 38.42 SOUTH PT
... ... ...

Najděte první událost s přímým úmrtím v jednotlivých stavech a zobrazte všechny sloupce.

Dotaz nejprve vyfiltruje události tak, aby zahrnoval pouze ty, u kterých došlo alespoň k jednomu přímému smrti. Potom dotaz vrátí celý řádek s nejnižší hodnotou pro StartTime.

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

Zobrazená tabulka výsledků obsahuje pouze prvních 10 řádků a prvních 3 sloupců.

State Počáteční čas 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 ...
WASHINGTONSKÝ 2007-01-09T17:00:00Z 2007-01-09T18:00:00Z ...
KALIFORNIE 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 ...
... ... ... ...

Následující příklad ukazuje zpracování hodnoty null.

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

Výstup

Fruit Verze Color
Apple 0 Červený
Banana Yellow
Hruška 0 Červenohnědá

Porovnání s min()

Funkce arg_min() se liší od funkce min(). Funkce arg_min() umožňuje vrátit další sloupce spolu s minimální hodnotou a min() vrátí jenom samotnou minimální hodnotu.

Příklady

arg_min()

Najděte první událost s přímým úmrtím a zobrazte všechny sloupce v tabulce.

Dotaz nejprve vyfiltruje události tak, aby zahrnoval pouze ty, u kterých došlo alespoň k jednomu přímému smrti. Potom dotaz vrátí celý řádek s nejnižší hodnotou pro StartTime.

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

Tabulka výsledků vrátí všechny sloupce řádku, který obsahuje nejnižší hodnotu ve výrazu zadaném.

Počáteční čas EndTime Id epizody ID události State Typ události ...
2007-01-01T00:00:00Z 2007-01-22T18:49:00Z 2408 11929 INDIANA Povodeň ...

min()

Najděte první událost s přímým úmrtím.

Dotaz filtruje události tak, aby zahrnoval pouze ty, u kterých je alespoň jedna přímá smrt, a pak vrátí minimální hodnotu pro StartTime.

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

Tabulka výsledků vrátí nejnižší hodnotu pouze v konkrétním sloupci.

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