Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. 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 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
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. 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] |