Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Applies to: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Создает таблицу, которая объединяет содержимое входной таблицы.
Syntax
T| summarize
[ SummarizeParameters ] [[Column=
] Aggregation [,
...]] [by
[Column=
] GroupExpression [,
...]]
Learn more about syntax conventions.
Parameters
Name | Type | Required | Description |
---|---|---|---|
Column | string |
Имя столбца результатов. По умолчанию это имя, получаемое из выражения. | |
Aggregation | string |
✔️ | A call to an aggregation function such as count() or avg() , with column names as arguments. |
GroupExpression | scalar | ✔️ | Скалярное выражение, которое может ссылаться на входные данные. Выходные данные имеют столько записей, сколько имеются уникальные значения всех выражений группы. |
SummarizeParameters | string |
Zero or more space-separated parameters in the form of Name= Value that control the behavior. See supported parameters. |
Note
When the input table is empty, the output depends on whether GroupExpression is used:
- If GroupExpression isn't provided, the output is a single (empty) row.
- If GroupExpression is provided, the output has no rows.
Supported parameters
Name | Description |
---|---|
hint.num_partitions |
Указывает количество секций, используемых для совместного использования нагрузки запроса на узлы кластера. See shuffle query |
hint.shufflekey=<key> |
Запрос shufflekey использует нагрузку запроса на узлы кластера, используя ключ для секционирования данных. See shuffle query |
hint.strategy=shuffle |
Запрос shuffle стратегии использует нагрузку запроса на узлы кластера, где каждый узел обрабатывает одну секцию данных. See shuffle query |
Returns
Входные строки объединяются в группы с одинаковыми значениями выражений by
. Затем указанные агрегатные функции выполняют вычисления и создают строку для каждой группы. Результат содержит столбцы by
и хотя бы один столбец для каждого вычисленного статистического выражения. (Некоторые агрегатные функции возвращают несколько столбцов).
Результат имеет столько строк, сколько есть различные сочетания значений by
(которые могут быть нулевыми). Если ключи группы не указаны, в результате будет содержаться одна запись.
Чтобы суммировать диапазоны числовых значений, можно ограничить диапазоны дискретными значениями с помощью bin()
.
Note
- Для агрегатных выражений и выражений группирования допускаются произвольные выражения, но эффективнее использовать простые имена столбцов или функцию
bin()
для числовых столбцов. - Автоматические почасовые ячейки для столбцов datetime больше не поддерживаются. Вместо этого используйте явное группирование. Например,
summarize by bin(timestamp, 1h)
.
Значения агрегатов по умолчанию
В следующей таблице перечислены значения по умолчанию для агрегатов:
Operator | Default value |
---|---|
count() , countif() , dcount() dcountif() count_distinct() sum() sumif() variance() varianceif() stdev() stdevif() |
0 |
make_bag() , , make_bag_if() make_list() make_list_if() make_set() ,make_set_if() |
пустой динамический массив ([]) |
All others | null |
Note
При применении этих агрегатов к сущностям, которые включают значения NULL, значения NULL игнорируются и не учитываются в вычислении. See Examples.
Examples
The examples in this article use publicly available tables in the help cluster, such as the
StormEvents
table in the Samples database.
The examples in this article use publicly available tables, such as the
Weather
table in the Weather analytics sample gallery. Возможно, потребуется изменить имя таблицы в примере запроса, чтобы она соответствовала таблице в рабочей области.
В следующем примере определяется, какие уникальные сочетания и State
существуют для штормовEventType
, которые привели к прямой травме. Здесь нет статистических функций, только ключи group-by. Выходные данные отображают только столбцы для этих результатов.
StormEvents
| where InjuriesDirect > 0
| summarize by State, EventType
Output
В следующей таблице показаны только первые 5 строк. Чтобы просмотреть полные выходные данные, выполните запрос.
State | EventType |
---|---|
TEXAS | Thunderstorm Wind |
TEXAS | Flash Flood |
TEXAS | Winter Weather |
TEXAS | High Wind |
TEXAS | Flood |
... | ... |
В следующем примере найдены минимальные и максимальные сильные дожди на Гавайях. Нет предложения group-by, поэтому в выходных данных есть только одна строка.
StormEvents
| where State == "HAWAII" and EventType == "Heavy Rain"
| project Duration = EndTime - StartTime
| summarize Min = min(Duration), Max = max(Duration)
Output
Min | Max |
---|---|
01:08:00 | 11:55:00 |
В следующем примере вычисляется количество уникальных типов событий storm для каждого состояния и сортирует результаты по количеству уникальных типов штормов:
StormEvents
| summarize TypesOfStorms=dcount(EventType) by State
| sort by TypesOfStorms
Output
В следующей таблице показаны только первые 5 строк. Чтобы просмотреть полные выходные данные, выполните запрос.
State | TypesOfStorms |
---|---|
TEXAS | 27 |
CALIFORNIA | 26 |
PENNSYLVANIA | 25 |
GEORGIA | 24 |
ILLINOIS | 23 |
... | ... |
В следующем примере вычисляется типы событий шторма гистограммы, которые имели штормы продолжительностью более 1 дня. Поскольку Duration
имеет много значений, используйте bin()
для группировки его значений в 1-дневный интервал.
StormEvents
| project EventType, Duration = EndTime - StartTime
| where Duration > 1d
| summarize EventCount=count() by EventType, Length=bin(Duration, 1d)
| sort by Length
Output
EventType | Length | EventCount |
---|---|---|
Drought | 30.00:00:00 | 1646 |
Wildfire | 30.00:00:00 | 11 |
Heat | 30.00:00:00 | 14 |
Flood | 30.00:00:00 | 20 |
Heavy Rain | 29.00:00:00 | 42 |
... | ... | ... |
В следующем примере показаны значения статистических выражений по умолчанию, если входная таблица пуста. Оператор summarize
используется для вычисления значений агрегатов по умолчанию.
Если входные данные оператора имеют по крайней мере один пустой summarize
ключ по группе, его результат также пуст.
Если входные данные оператора не имеют пустого summarize
ключа по группе, результатом является значение по умолчанию агрегатов, используемых в summarize
разделе "Дополнительные сведения", см . значения агрегатов по умолчанию.
datatable(x:long)[]
| summarize any_x=take_any(x), arg_max_x=arg_max(x, *), arg_min_x=arg_min(x, *), avg(x), buildschema(todynamic(tostring(x))), max(x), min(x), percentile(x, 55), hll(x) ,stdev(x), sum(x), sumif(x, x > 0), tdigest(x), variance(x)
Output
any_x | arg_max_x | arg_min_x | avg_x | schema_x | max_x | min_x | percentile_x_55 | hll_x | stdev_x | sum_x | sumif_x | tdigest_x | variance_x |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NaN | 0 | 0 | 0 | 0 |
Результатом avg_x(x)
является NaN
деление на 0.
datatable(x:long)[]
| summarize count(x), countif(x > 0) , dcount(x), dcountif(x, x > 0)
Output
count_x | countif_ | dcount_x | dcountif_x |
---|---|---|---|
0 | 0 | 0 | 0 |
datatable(x:long)[]
| summarize make_set(x), make_list(x)
Output
set_x | list_x |
---|---|
[] | [] |
Среднее агрегирование суммирует только значения, отличные от NULL, и вычисляет только эти значения в вычислении, игнорируя все значения NULL.
range x from 1 to 4 step 1
| extend y = iff(x == 1, real(null), real(5))
| summarize sum(y), avg(y)
Output
sum_y | avg_y |
---|---|
15 | 5 |
Функция стандартного подсчета включает значения NULL в его счетчике:
range x from 1 to 2 step 1
| extend y = iff(x == 1, real(null), real(5))
| summarize count(y)
Output
count_y |
---|
2 |
range x from 1 to 2 step 1
| extend y = iff(x == 1, real(null), real(5))
| summarize make_set(y), make_set(y)
Output
set_y | set_y1 |
---|---|
[5.0] | [5.0] |