Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Applies to: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Produz uma tabela que agrega o conteúdo da tabela de entrada.
Syntax
T| summarize [ SummarizeParameters ] [[Column=] Aggregation [, ...]] [by [Column=] GroupExpression [, ...]]
Learn more about syntax conventions.
Parameters
| Name | Tipo | Required | Description |
|---|---|---|---|
| Column | string |
O nome da coluna de resultado. Assume o padrão de um nome derivado da expressão. | |
| Aggregation | string |
✔️ | A call to an aggregation function such as count() or avg(), with column names as arguments. |
| GroupExpression | scalar | ✔️ | Uma expressão escalar que pode fazer referência aos dados de entrada. A saída tem tantos registros quanto valores distintos de todas as expressões de grupo. |
| 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 |
Especifica o número de partições usadas para compartilhar a carga de consulta em nós de cluster. See shuffle query |
hint.shufflekey=<key> |
A consulta shufflekey compartilha a carga de consulta em nós de cluster usando uma chave para particionar dados. See shuffle query |
hint.strategy=shuffle |
A consulta de estratégia shuffle compartilha a carga de consulta em nós de cluster, em que cada nó processará uma partição dos dados. See shuffle query |
Returns
As linhas de entrada são organizadas em grupos com os mesmos valores que as expressões by . Em seguida, as funções de agregação especificadas são calculadas sobre cada grupo, produzindo uma linha para cada grupo. O resultado contém as colunas by e pelo menos uma coluna para cada agregação calculada. (Algumas funções de agregação retornam várias colunas.)
O resultado tem tantas linhas quanto combinações distintas de by valores (que podem ser zero). Se nenhuma chave de grupo for fornecida, o resultado terá um único registro.
Para resumir intervalos de valores numéricos, use bin() para reduzir os intervalos a valores discretos.
Note
- Embora você possa fornecer expressões aleatórias para as expressões de agregação e de agrupamento, é mais eficiente usar nomes de coluna simples ou aplicar
bin()a uma coluna numérica. - As lixeiras automáticas por hora para colunas datetime não têm mais suporte. Em vez disso, use a compartimentalização explícita. Por exemplo,
summarize by bin(timestamp, 1h).
Valores padrão das agregações
A seguinte tabela resume os valores padrão das agregações:
| 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() |
Matriz dinâmica vazia ([]) |
| All others | nulo |
Note
Ao aplicar essas agregações a entidades que incluem valores nulos, os valores nulos são ignorados e não são considerados no cálculo. See Examples.
Examples
The examples in this article use publicly available tables in the help cluster, such as the
StormEventstable in the Samples database.
The examples in this article use publicly available tables, such as the
Weathertable in the Weather analytics sample gallery. Talvez seja necessário modificar o nome da tabela na consulta de exemplo para corresponder à tabela em seu workspace.
O exemplo a seguir determina de State quais combinações exclusivas e EventType há para tempestades que resultaram em lesões diretas. Não há funções de agregação, apenas chaves de agrupamento. A saída exibe apenas as colunas desses resultados.
StormEvents
| where InjuriesDirect > 0
| summarize by State, EventType
Output
A tabela a seguir mostra apenas as cinco primeiras linhas. Para ver a saída completa, execute a consulta.
| State | EventType |
|---|---|
| TEXAS | Thunderstorm Wind |
| TEXAS | Flash Flood |
| TEXAS | Winter Weather |
| TEXAS | High Wind |
| TEXAS | Flood |
| ... | ... |
O exemplo a seguir encontra as tempestades mínimas e máximas de chuva forte no Havaí. Não há nenhuma cláusula group-by, ou seja, há apenas uma linha na saída.
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 |
O exemplo a seguir calcula o número de tipos de eventos storm exclusivos para cada estado e classifica os resultados pelo número de tipos de tempestade exclusivos:
StormEvents
| summarize TypesOfStorms=dcount(EventType) by State
| sort by TypesOfStorms
Output
A tabela a seguir mostra apenas as cinco primeiras linhas. Para ver a saída completa, execute a consulta.
| State | TypesOfStorms |
|---|---|
| TEXAS | 27 |
| CALIFORNIA | 26 |
| PENNSYLVANIA | 25 |
| GEORGIA | 24 |
| ILLINOIS | 23 |
| ... | ... |
O exemplo a seguir calcula um tipo de evento de tempestade de histograma que teve tempestades que duraram mais de um dia. Como Duration tem muitos valores, use bin() para agrupar os valores em intervalos de um dia.
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 |
| ... | ... | ... |
O exemplo a seguir mostra os valores padrão de agregações quando a tabela de entrada está vazia. O summarize operador é usado para calcular os valores padrão das agregações.
Quando a entrada do operador summarize tiver pelo menos uma chave group-by, o resultado também será vazio.
Quando a entrada do operador summarize não possui uma chave de agrupamento por vazia, o resultado são os valores padrão das agregações utilizadas no summarize. Para obter mais informações, consulte Valores padrão das agregações.
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 |
O resultado de avg_x(x) é NaN devido à divisão por 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 |
|---|---|
| [] | [] |
A agregação avg soma apenas os valores não nulos e conta apenas esses valores em seu cálculo, ignorando todos os nulos.
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 |
A função de contagem padrão inclui valores nulos em sua contagem:
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] |