Поделиться через


arg_max() (агрегатная функция)

Область применения: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Находит строку в группе, которая максимизирует ExprToMaximize.

Примечание.

Эта функция используется в сочетании с оператором сводки.

Устаревшие псевдонимы: argmax()

Синтаксис

arg_max(ExprToMaximize | *, ExprToReturn [, ...])

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
ExprToMaximize string ✔️ Выражение, используемое для вычисления агрегирования.
ExprToReturn string ✔️ Выражение, используемое для возврата значения, если exprToMaximize является максимальным. Используйте подстановочный знак * для возврата всех столбцов входной таблицы.

Возвраты

Возвращает строку в группе, которая максимизирует ExprToMaximize, а также значения столбцов, указанных в ExprToReturn.

Примеры

Найдите максимальную широту события шторма в каждом состоянии.

StormEvents 
| summarize arg_max(BeginLat, BeginLocation) by State

В таблице результатов отображаются только первые 10 строк.

Штат BeginLat BeginLocation
МИССИСИПИ 34.97 УСАДЬБА
ВЕРМОНТ 45 СЕВЕРНАЯ ТРОЯ
АМЕРИКАНСКОЕ САМОА -14.2 OFU
ГАВАЙИ 22.2113 ПРИНСЕВИЛЛ
МИННЕСОТА 49.35 ARNESEN
RHODE ISLAND 42 WOONSOCKET
ИНДИАНА 41.73 ФРИМОНТ
ЗАПАДНАЯ ВИРДЖИНИЯ 40.62 ЧЕСТЕР
ЮЖНАЯ КАРОЛИНА 35.18 LANDRUM
TEXAS 36.4607 DARROUZETT
... ... ...

Найдите последнее событие с прямой смертью в каждом состоянии, показывающее все столбцы.

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

В таблице результатов отображаются только первые 10 строк и первые 3 столбца.

Штат Время начала EndTime ...
ГУАМ 2007-01-27T11:15:00Z 2007-01-27T11:30:00Z ...
МАССАЧУСЕТС 2007-02-03T22:00:00Z 2007-02-04T10:00:00Z ...
АМЕРИКАНСКОЕ САМОА 2007-02-17T13:00:00Z 2007-02-18T11:00:00Z ...
АЙДАХО 2007-02-17T13:00:00Z 2007-02-17T15:00:00Z ...
DELAWARE 2007-02-25T13:00:00Z 2007-02-26T01:00:00Z ...
ВАЙОМИНГ 2007-03-10T17:00:00Z 2007-03-10T17:00:00Z ...
НЬЮ-МЕКСИКО 2007-03-23T18:42:00Z 2007-03-23T19:06:00Z ...
ИНДИАНА 2007-05-15T14:14:00Z 2007-05-15T14:14:00Z ...
МОНТАНА 2007-05-18T14:20:00Z 2007-05-18T14:20:00Z ...
ОЗЕРО МИЧИГАН 2007-06-07T13:00:00Z 2007-06-07T13:00:00Z ...
... ... ... ...

В следующем примере показана обработка значений 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

Выходные данные

Фрукт Версия Color
Apple 1 Красный
Банан Желтый
Груша 2 Зеленый