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.
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Produz uma tabela que agrega o conteúdo da tabela de entrada.
Sintaxe
T [ SummarizeParameters=
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
Coluna | string |
O nome da coluna de resultado. Assume o padrão de um nome derivado da expressão. | |
Agregação | string |
✔️ | Uma chamada para uma função de agregação, como count() ou avg() , com nomes de coluna como argumentos. |
GroupExpression | escalar | ✔️ | 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 ou mais parâmetros separados por espaço na forma de Valor de Nome = que controlam o comportamento. Confira os parâmetros com suporte. |
Observação
Quando a tabela de entrada está vazia, a saída depende do uso de GroupExpression:
- Se GroupExpression não for fornecido, a saída será uma única linha (vazia).
- Se GroupExpression for fornecido, a saída não terá linhas.
Parâmetros com suporte
Nome | Descrição |
---|---|
hint.num_partitions |
Especifica o número de partições usadas para compartilhar a carga de consulta em nós de cluster. Confira a consulta aleatória |
hint.shufflekey=<key> |
A consulta shufflekey compartilha a carga de consulta em nós de cluster usando uma chave para particionar dados. Confira a consulta aleatória |
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. Confira a consulta aleatória |
Retornos
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.
Observação
- 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:
Operador | Valor padrão |
---|---|
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 ([]) |
Todos os outros | nulo |
Observação
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. Veja exemplos.
Exemplos
Os exemplos neste artigo usam tabelas disponíveis publicamente no de cluster de ajuda, como a tabela
StormEvents
no banco de dados exemplos de.
Os exemplos neste artigo usam tabelas disponíveis publicamente, como a tabela
StormEvents
na análise de clima dados de exemplo.
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
Saída
A tabela a seguir mostra apenas as cinco primeiras linhas. Para ver a saída completa, execute a consulta.
Estado | Tipo de Evento |
---|---|
TEXAS | Ventos de tempestade |
TEXAS | Saturação de Flash |
TEXAS | Clima de Inverno |
TEXAS | Vento Forte |
TEXAS | Saturação |
... | ... |
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)
Saída
Mín | 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
Saída
A tabela a seguir mostra apenas as cinco primeiras linhas. Para ver a saída completa, execute a consulta.
Estado | TypesOfStorms |
---|---|
TEXAS | 27 |
CALIFÓRNIA | 26 |
Pensilvânia | vinte e cinco |
GEÓRGIA | 24 |
ILINÓIS | vinte e três |
... | ... |
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
Saída
Tipo de Evento | Comprimento | Contagem de Eventos |
---|---|---|
Seca | 30.00:00:00 | 1646 |
Wildfire | 30.00:00:00 | 11 |
Calor | 30.00:00:00 | 14 |
Saturação | 30.00:00:00 | 20 |
Chuva Forte | 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)
Saída
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)
Saída
count_x | countif_ | dcount_x | dcountif_x |
---|---|---|---|
0 | 0 | 0 | 0 |
datatable(x:long)[]
| summarize make_set(x), make_list(x)
Saída
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)
Saída
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)
Saída
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)
Saída
set_y | set_y1 |
---|---|
[5.0] | [5.0] |