Udostępnij przez


arg_min() (funkcja agregacji)

Dotyczy: ✅Microsoft Fabric

Znajduje wiersz w tabeli, który minimalizuje określone wyrażenie. Zwraca wszystkie kolumny tabeli wejściowej lub określonych kolumn.

Uwaga

Ta funkcja jest używana w połączeniu z operatorem podsumowania.

Przestarzałe aliasy: argmin()

Składnia

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

Dowiedz się więcej na temat konwencji składni.

Parametry

Nazwisko Typ Wymagania opis
ExprToMinimize string ✔️ Wyrażenie, dla którego określana jest wartość minimalna.
ExprToReturn string ✔️ Wyrażenie określa, które wartości kolumn są zwracane, z wiersza, który ma minimalną wartość ExprToMinimize. Użyj symbolu wieloznakowego *, aby zwrócić wszystkie kolumny.

Obsługa wartości null

Gdy ExprToMinimize ma wartość null dla wszystkich wierszy w tabeli, wybierany jest jeden wiersz w tabeli. W przeciwnym razie wiersze, w których wyrażenie ExprToMinimize ma wartość null, są ignorowane.

Zwraca

Zwraca wiersz w tabeli, który minimalizuje ExprToMinimizei wartości kolumn określonych w ExprToReturn. Użyj polecenia lub * , aby zwrócić cały wiersz.

Napiwek

Aby wyświetlić tylko minimalną wartość, użyj funkcji min().

Przykłady

Poniższy przykład znajduje maksymalną szerokość geograficzną zdarzenia burzy w każdym stanie.

StormEvents 
| summarize arg_min(BeginLat, BeginLocation) by State

Wyjście

Wyświetlona tabela wyników zawiera tylko pierwsze 10 wierszy.

Stan BeginLat BeginLocation
SAMOA AMERYKAŃSKIE -14.3 PAGO PAGO
KALIFORNIA 32.5709 NESTOR
MINNESOTA 43.5 BIGELOW
WASZYNGTON 45.58 WASHOUGAL
GRUZJA 30.67 FARGO
ILLINOIS 37 KAIR
FLORYDA 24.6611 KLUCZ SUGARLOAF
KENTUCKY 36,5 LESZCZYNA
TEKSAS 25.92 BROWNSVILLE
OHIO 38.42 POŁUDNIE PT
...\ ...\ ...\

Znajdź pierwsze zdarzenie z bezpośrednią śmiercią w każdym stanie, pokazując wszystkie kolumny.

Zapytanie najpierw filtruje zdarzenia, aby uwzględnić tylko te, w których wystąpiła co najmniej jedna bezpośrednia śmierć. Następnie zapytanie zwraca cały wiersz z najniższą wartością czasu rozpoczęcia.

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

Wyjście

Wyświetlona tabela wyników zawiera tylko pierwsze 10 wierszy i 3 pierwsze kolumny.

Stan Godzina rozpoczęcia CzasZakończenia ...\
INDIANA 2007-01-01T00:00:00Z 2007-01-22T18:49:00Z ...\
FLORYDA 2007-01-03T10:55:00Z 2007-01-03T10:55:00Z ...\
NEVADA 2007-01-04T09:00:00Z 2007-01-05T14:00:00Z ...\
LUIZJANA 2007-01-04T15:45:00Z 2007-01-04T15:52:00Z ...\
WASZYNGTON 2007-01-09T17:00:00Z 2007-01-09T18:00:00Z ...\
KALIFORNIA 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 ...\
TEKSAS 2007-01-13T10:30:00Z 2007-01-13T14:30:00Z ...\
ARKANSAS 2007-01-14T03:00:00Z 2007-01-14T03:00:00Z ...\
...\ ...\ ...\ ...\

W poniższym przykładzie pokazano obsługę wartości 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

Wyjście

Owoc Wersja Kolor
Jabłko 1 Czerwony
Banan Yellow
Gruszka 1 Brązowy

Porównanie do min()

Funkcja arg_min() różni się od funkcji min(). Funkcja arg_min() umożliwia zwrócenie dodatkowych kolumn wraz z wartością minimalną, a min() zwraca tylko wartość minimalną.

Przykłady

W poniższym przykładzie użyto arg_min(), aby znaleźć ostatni raz zdarzenie z bezpośrednią śmiercią w każdym stanie, pokazując wszystkie kolumny.

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

Tabela wyników zwraca wszystkie kolumny dla wiersza zawierającego najniższą wartość w określonym wyrażeniu.

Godzina rozpoczęcia CzasZakończenia EpisodeId Identyfikator zdarzenia Stan Typ Wydarzenia ...\
2007-01-01T00:00:00Z 2007-01-22T18:49:00Z 2408 11929 INDIANA Powódź ...\

W poniższym przykładzie użyto funkcji min(), aby znaleźć ostatni raz zdarzenie z bezpośrednią śmiercią w każdym stanie, ale zwraca tylko minimalną wartość StartTime.

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

Tabela wyników zwraca najniższą wartość tylko w określonej kolumnie.

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