Udostępnij za pośrednictwem


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 Type 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

Znajdź minimalną szerokość geograficzną zdarzenia burzy w każdym stanie.

StormEvents 
| summarize arg_min(BeginLat, BeginLocation) by State

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
GEORGIA 30.67 FARGO
ILLINOIS 37 KAIR
FLORIDA 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

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

Stan 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 ...
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 Color
Apple 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

arg_min()

Znajdź pierwsze zdarzenie z bezpośrednią śmiercią, pokazując wszystkie kolumny w tabeli.

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

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

StartTime EndTime EpisodeId Identyfikator zdarzenia Stan EventType ...
2007-01-01T00:00:00Z 2007-01-22T18:49:00Z 2408 11929 INDIANA Powódź ...

min()

Znajdź po raz pierwszy zdarzenie z bezpośrednią śmiercią.

Zapytanie filtruje zdarzenia, aby uwzględnić tylko te, w których występuje co najmniej jedna bezpośrednia śmierć, a następnie zwraca minimalną wartość czasu rozpoczęcia.

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