Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 resultados. O padrão é 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 há 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, onde cada nó processa uma partição dos dados. See shuffle query |
Returns
As linhas de entrada são organizadas em grupos com os mesmos valores das 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 by colunas e também pelo menos uma coluna para cada agregado calculado. (Algumas funções de agregação retornam várias colunas.)
O resultado tem tantas linhas quanto há combinações distintas de by valores (que podem ser zero). Se não houver chaves de grupo fornecidas, o resultado terá um único registro.
Para resumir sobre intervalos de valores numéricos, use bin() para reduzir intervalos para valores discretos.
Note
- Embora você possa fornecer expressões arbitrárias para as expressões de agregação e agrupamento, é mais eficiente usar nomes de colunas simples ou aplicá
bin()a uma coluna numérica. - Os compartimentos automáticos por hora para colunas datetime não são mais suportados. Em vez disso, use a vinculação explícita. Por exemplo,
summarize by bin(timestamp, 1h).
Valores padrão de agregações
A tabela a seguir 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 | null |
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 espaço de trabalho.
O exemplo a seguir determina quais combinações únicas de State e EventType existem para tempestades que resultaram em ferimentos diretos. Não há funções de agregação, apenas teclas agrupadas. A saída exibe apenas as colunas para esses resultados.
StormEvents
| where InjuriesDirect > 0
| summarize by State, EventType
Output
A tabela a seguir mostra apenas as primeiras 5 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 localiza o mínimo e o máximo de tempestades fortes no Havaí. Não há cláusula de agrupamento por, portanto, 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 de tempestade 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 primeiras 5 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 histograma tipos de evento de tempestade que tiveram tempestades durando mais de 1 dia. Como Duration tem muitos valores, use bin() para agrupar seus valores em intervalos de 1 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 dos agregados.
Quando a entrada de summarize operador tem pelo menos uma chave agrupada vazia, seu resultado também está vazio.
Quando a entrada de summarize operador não tem uma chave agrupada vazia, o resultado são os valores padrão das agregações usadas no summarize Para obter mais informações, consulte Valores padrão de 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 |
|---|---|
| [] | [] |
O agregado avg soma apenas os valores não nulos e conta apenas esses valores em seu cálculo, ignorando quaisquer 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] |