arg_min() (агрегатная функция)
Область применения: ✅Microsoft Fabric✅
Находит строку в таблице, которая сводит к минимуму указанное выражение. Он возвращает все столбцы входной таблицы или указанные столбцы.
Устаревшие псевдонимы: argmin()
Синтаксис
arg_min
(
ExprToMinimize,
* | ExprToReturn [,
...])
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
ExprToMinimize | string |
✔️ | Выражение, для которого определяется минимальное значение. |
ExprToReturn | string |
✔️ | Выражение определяет, какие значения столбцов возвращаются из строки, которая имеет минимальное значение для ExprToMinimize. Используйте подстановочный знак * для возврата всех столбцов. |
Обработка NULL
Если ExprToMinimize имеет значение NULL для всех строк в таблице, выбирается одна строка в таблице. В противном случае строки, в которых ExprToMinimize имеет значение NULL, игнорируются.
Возвраты
Возвращает строку в таблице, которая сводит к минимуму ExprToMinimize, а также значения столбцов, указанных в ExprToReturn. Используйте или *
возвращает всю строку.
Кончик
Чтобы просмотреть только минимальное значение, используйте функцию min().
Примеры
Найдите минимальную широту события шторма в каждом состоянии.
StormEvents
| summarize arg_min(BeginLat, BeginLocation) by State
Выходные данные
Показанная таблица результатов содержит только первые 10 строк.
Штат | BeginLat | BeginLocation |
---|---|---|
АМЕРИКАНСКОЕ САМОА | -14.3 | PAGO PAGO |
CALIFORNIA | 32.5709 | НЕСТОР |
МИННЕСОТА | 43,5 | БИГЕЛОУ |
ВАШИНГТОН | 45.58 | WASHOUGAL |
ДЖОРДЖИЯ | 30.67 | ФАРГО |
ИЛЛИНОЙС | 37 | КАИР |
FLORIDA | 24.6611 | КЛЮЧ SUGARLOAF |
KENTUCKY | 36,5 | ОРЕШНИК |
TEXAS | 25.92 | БРАУНСВИЛЛ |
OHIO | 38.42 | SOUTH PT |
... | ... | ... |
Найдите первое событие с прямой смертью в каждом состоянии, показывающее все столбцы.
Запрос сначала фильтрует события, чтобы включить только те, где была по крайней мере одна прямая смерть. Затем запрос возвращает всю строку с наименьшим значением для StartTime.
StormEvents
| where DeathsDirect > 0
| summarize arg_min(StartTime, *) by State
Выходные данные
Показанная таблица результатов содержит только первые 10 строк и первые 3 столбца.
Штат | Время начала | EndTime | ... |
---|---|---|---|
ИНДИАНА | 2007-01-01T00:00:00Z | 2007-01-22T18:49:00Z | ... |
FLORIDA | 2007-01-03T10:55:00Z | 2007-01-03T10:55:00Z | ... |
НЕВАДА | 2007-01-04T09:00:00Z | 2007-01-05T14:00:00Z | ... |
ЛУИЗИАНА | 2007-01-04T15:45:00Z | 2007-01-04T15:52:00Z | ... |
ВАШИНГТОН | 2007-01-09T17:00:00Z | 2007-01-09T18:00:00Z | ... |
CALIFORNIA | 2007-01-11T22:00:00Z | 2007-01-24T10:00:00Z | ... |
ОКЛАХОМА | 2007-01-12T00:00:00Z | 2007-01-18T23:59:00Z | ... |
МИССУРИ | 2007-01-13T03:00:00Z | 2007-01-13T08:30:00Z | ... |
TEXAS | 2007-01-13T10:30:00Z | 2007-01-13T14:30:00Z | ... |
АРКАНЗАС | 2007-01-14T03:00:00Z | 2007-01-14T03: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_min(Version, *) by Fruit
Выходные данные
Фрукт | Версия | Color |
---|---|---|
Apple | 1 | Красный |
Банан | Желтый | |
Груша | 1 | Коричневый |
Сравнение с min()
Функция arg_min() отличается от функции min(). Функция arg_min() позволяет возвращать дополнительные столбцы вместе с минимальным значением, а min() возвращает только минимальное значение.
Примеры
arg_min()
Найдите первое событие с прямой смертью, отображая все столбцы в таблице.
Запрос сначала фильтрует события, чтобы включить только те, где была по крайней мере одна прямая смерть. Затем запрос возвращает всю строку с наименьшим значением для StartTime.
StormEvents
| where DeathsDirect > 0
| summarize arg_min(StartTime, *)
Таблица результатов возвращает все столбцы для строки, содержащей наименьшее значение в указанном выражении.
Время начала | EndTime | EpisodeId | EventId | Штат | EventType | ... |
---|---|---|---|---|---|---|
2007-01-01T00:00:00Z | 2007-01-22T18:49:00Z | 2408 | 11929 | ИНДИАНА | Наводнение | ... |
min()
Найдите первое событие с прямой смертью.
Запрос фильтрует события, чтобы включить только те, где есть по крайней мере одна прямая смерть, а затем возвращает минимальное значение для StartTime.
StormEvents
| where DeathsDirect > 0
| summarize min(StartTime)
Таблица результатов возвращает наименьшее значение только в определенном столбце.
min_StartTime |
---|
2007-01-01T00:00:00Z |