arg_max() (funkcja agregacji)
Dotyczy: ✅Microsoft Fabric✅✅
Znajduje wiersz w tabeli, który maksymalizuje 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: argmax()
Składnia
arg_max
(
ExprToMaximize,
* | ExprToReturn [,
...])
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
ExprToMaximize | string |
✔️ | Wyrażenie, dla którego jest określana wartość maksymalna. |
ExprToReturn | string |
✔️ | Wyrażenie określa, które wartości kolumn są zwracane, z wiersza, który ma maksymalną wartość dla ExprToMaximize. Użyj symbolu wieloznakowego * , aby zwrócić wszystkie kolumny. |
Zwraca
Zwraca wiersz w tabeli, który maksymalizuje określone wyrażenie ExprToMaximizei wartości kolumn określonych w ExprToReturn.
Napiwek
Aby wyświetlić tylko maksymalną wartość, użyj funkcji max().
Przykłady
Znajdź maksymalną szerokość geograficzną
Poniższy przykład znajduje maksymalną szerokość geograficzną zdarzenia burzy w każdym stanie.
StormEvents
| summarize arg_max(BeginLat, BeginLocation) by State
Wyjście
W tabeli wyników są wyświetlane tylko pierwsze 10 wierszy.
Stan | BeginLat | BeginLocation |
---|---|---|
MISSISSIPPI | 34.97 | BARTON |
VERMONT | 45 | NORTH TROY |
SAMOA AMERYKAŃSKIE | -14.2 | OFU |
HAWAJE | 22.2113 | PRINCEVILLE |
MINNESOTA | 49.35 | ARNESEN |
RHODE ISLAND | 42 | WOONSOCKET |
INDIANA | 41.73 | FREMONT |
WIRGINIA ZACHODNIA | 40.62 | CHESTER |
SOUTH CAROLINA | 35.18 | LANDRUM |
TEKSAS | 36.4607 | DARROUZETT |
... | ... | ... |
Znajdowanie ostatniego zdarzenia krytycznego stanu
Poniższy przykład znajduje ostatni raz zdarzenie z bezpośrednią śmiercią w każdym stanie, pokazując wszystkie kolumny.
Zapytanie najpierw filtruje zdarzenia, aby uwzględnić tylko te zdarzenia, w których wystąpił co najmniej jedna bezpośrednia śmierć. Następnie zapytanie zwraca cały wiersz z najnowszymi StartTime
.
StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *) by State
Wyjście
W tabeli wyników są wyświetlane tylko pierwsze 10 wierszy i pierwsze trzy kolumny.
Stan | StartTime | EndTime | ... |
---|---|---|---|
GUAM | 2007-01-27T11:15:00Z | 2007-01-27T11:30:00Z | ... |
MASSACHUSETTS | 2007-02-03T22:00:00Z | 2007-02-04T10:00:00Z | ... |
SAMOA AMERYKAŃSKIE | 2007-02-17T13:00:00Z | 2007-02-18T11:00:00Z | ... |
IDAHO | 2007-02-17T13:00:00Z | 2007-02-17T15:00:00Z | ... |
DELAWARE | 2007-02-25T13:00:00Z | 2007-02-26T01:00:00Z | ... |
WYOMING | 2007-03-10T17:00:00Z | 2007-03-10T17:00:00Z | ... |
NOWY MEKSYK | 2007-03-23T18:42:00Z | 2007-03-23T19:06:00Z | ... |
INDIANA | 2007-05-15T14:14:00Z | 2007-05-15T14:14:00Z | ... |
MONTANA | 2007-05-18T14:20:00Z | 2007-05-18T14:20:00Z | ... |
JEZIORO MICHIGAN | 2007-06-07T13:00:00Z | 2007-06-07T13:00:00Z | ... |
... | ... | ... | ... |
Obsługa wartości null
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_max(Version, *) by Fruit
Wyjście
Owoc | Wersja | Color |
---|---|---|
Apple | 1 | Czerwony |
Banan | Yellow | |
Gruszka | 2 | Green (Zielony) |
Porównanie z max()
Funkcja arg_max() różni się od funkcji max(). Funkcja arg_max() umożliwia zwrócenie innych kolumn wraz z wartością maksymalną, a max() zwraca tylko wartość maksymalną.
Przykłady
arg_max()
Znajdź ostatni raz zdarzenie z bezpośrednią śmiercią, pokazując wszystkie kolumny w tabeli.
Zapytanie najpierw filtruje zdarzenia, aby uwzględnić tylko zdarzenia, w których wystąpił co najmniej jedna bezpośrednia śmierć. Następnie zapytanie zwraca cały wiersz z najnowszym (maksimum) Godzina rozpoczęcia.
StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *)
Tabela wyników zwraca wszystkie kolumny dla wiersza zawierającego najwyższą wartość w określonym wyrażeniu.
StartTime | EndTime | EpisodeId | Identyfikator zdarzenia | Stan | EventType | ... |
---|---|---|---|---|---|---|
2007-12-31T15:00:00Z | 2007-12-31T15:00:00 | 12688 | 69700 | UTAH | Lawina | ... |
max()
Znajdź ostatni raz zdarzenie z bezpośrednią śmiercią.
Zapytanie filtruje zdarzenia, aby uwzględniać tylko zdarzenia, w których występuje co najmniej jedna bezpośrednia śmierć, a następnie zwraca maksymalną wartość czasu rozpoczęcia.
StormEvents
| where DeathsDirect > 0
| summarize max(StartTime)
Tabela wyników zwraca maksymalną wartość StartTime bez zwracania innych kolumn dla tego rekordu.
max_StartTime |
---|
2007-12-31T15:00:00Z |