Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cambie los servicios mediante la lista desplegable Versión . Más información sobre la navegación.
Se aplica a: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Crea una tabla que agrega el contenido de la tabla de entrada.
Syntax
T| summarize [ SummarizeParameters ] [[Column=] Aggregation [, ...]] [by [Column=] GroupExpression [, ...]]
Obtenga más información sobre las convenciones de sintaxis.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| Column | string |
Nombre de la columna de resultado. El valor predeterminado es un nombre derivado de la expresión. | |
| Aggregation | string |
✔️ | Una llamada a una función de agregación como count() o avg(), con nombres de columna como argumentos. |
| GroupExpression | scalar | ✔️ | expresión escalar que puede hacer referencia a los datos de entrada. La salida tiene tantos registros como hay valores distintos de todas las expresiones de grupo. |
| SummarizeParameters | string |
Cero o más parámetros separados por espacios en forma deValor de = que controlan el comportamiento. Consulte los parámetros admitidos. |
Note
Cuando la tabla de entrada está vacía, la salida depende de si se usa GroupExpression :
- Si no se proporciona GroupExpression , la salida es una sola fila (vacía).
- Si se proporciona GroupExpression , la salida no tiene filas.
Parámetros admitidos
| Name | Description |
|---|---|
hint.num_partitions |
Especifica el número de particiones usadas para compartir la carga de consultas en los nodos del clúster. Consulte la consulta aleatoria. |
hint.shufflekey=<key> |
La consulta shufflekey comparte la carga de consultas en los nodos del clúster mediante una clave para crear particiones de datos. Consulte la consulta aleatoria. |
hint.strategy=shuffle |
La consulta de estrategia shuffle comparte la carga de consultas en los nodos del clúster, donde cada nodo procesa una partición de los datos. Consulte la consulta aleatoria. |
Returns
Las filas de entrada están organizadas en grupos que tienen los mismos valores que las expresiones by . A continuación, las funciones de agregación especificadas se calculan sobre cada grupo, generando una fila para cada grupo. El resultado contiene las columnas by y también al menos una columna para cada agregación procesada. (Algunas funciones de agregación devuelven varias columnas.)
El resultado tiene tantas filas como hay combinaciones distintas de by valores (que podrían ser cero). Si no se especifica ninguna clave de grupo, el resultado tiene un único registro.
Para resumir intervalos de valores numéricos, use bin() para reducir los intervalos a valores discretos.
Note
- Aunque puede proporcionar expresiones arbitrarias para las expresiones de agregación y las de agrupación, resulta más eficaz usar nombres de columna simples, o bien aplicar
bin()a una columna numérica. - Ya no se admiten los intervalos automáticos por hora para las columnas datetime. Use la discretización explícita en su lugar. Por ejemplo,
summarize by bin(timestamp, 1h).
Valores predeterminados de agregaciones
En la siguiente tabla se resumen los valores predeterminados de las agregaciones:
| Operator | Valor predeterminado |
|---|---|
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 vacía ([]) |
| Todos los demás | null |
Note
Al aplicar estos agregados a entidades que incluyen valores NULL, se omiten los valores NULL y no se factoriza en el cálculo. Vea Ejemplos.
Examples
En los ejemplos de este artículo se usan tablas disponibles públicamente en el clúster de ayuda, como la
StormEventstabla de la base de datos samples .
En los ejemplos de este artículo se usan tablas disponibles públicamente, como la
Weathertabla de la galería de ejemplos de Análisis meteorológicos. Es posible que tenga que modificar el nombre de la tabla en la consulta de ejemplo para que coincida con la tabla del área de trabajo.
En el ejemplo siguiente se determina qué combinaciones únicas de State y EventType hay para tormentas que dieron lugar a lesiones directas. No hay ninguna función de agregación, solo claves de agrupación. La salida muestra solo las columnas de esos resultados.
StormEvents
| where InjuriesDirect > 0
| summarize by State, EventType
Output
En la tabla siguiente solo se muestran las 5 primeras filas. Para ver la salida completa, ejecute la consulta.
| State | EventType |
|---|---|
| TEXAS | Viento de tormenta |
| TEXAS | Riada |
| TEXAS | Clima de invierno |
| TEXAS | Viento alto |
| TEXAS | Flood |
| ... | ... |
En el ejemplo siguiente se encuentran las tormentas de lluvia mínima y máxima en Hawaii. No hay ninguna cláusula de agrupar por, así que hay una sola fila en la salida:
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 |
En el ejemplo siguiente se calcula el número de tipos de eventos de storm únicos para cada estado y se ordenan los resultados por el número de tipos de tormenta únicos:
StormEvents
| summarize TypesOfStorms=dcount(EventType) by State
| sort by TypesOfStorms
Output
En la tabla siguiente solo se muestran las 5 primeras filas. Para ver la salida completa, ejecute la consulta.
| State | TypesOfStorms |
|---|---|
| TEXAS | 27 |
| CALIFORNIA | 26 |
| PENNSYLVANIA | 25 |
| GEORGIA | 24 |
| ILLINOIS | 23 |
| ... | ... |
En el ejemplo siguiente se calcula un histograma con los tipos de eventos de tormenta que indicaban tormentas que duraban más de 1 día. Como Duration tiene muchos valores, debe usar bin() para agrupar los valores en intervalos de 1 día.
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 |
| Lluvia intensa | 29.00:00:00 | 42 |
| ... | ... | ... |
En el ejemplo siguiente se muestran los valores predeterminados de agregados cuando la tabla de entrada está vacía. El summarize operador se usa para calcular los valores predeterminados de los agregados.
Cuando la entrada del operador summarize tiene al menos una clave de agrupación vacía, el resultado también está vacío.
Cuando la entrada del operador summarize no tiene ninguna clave de agrupación vacía, el resultado son los valores predeterminados de los agregados que se usan en summarizePara obtener más información, vea Valores predeterminados de agregaciones.
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 |
El resultado de avg_x(x) es NaN debido a dividirlo 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 |
|---|---|
| [] | [] |
El agregado promedio suma solo los valores que no son NULL y solo cuenta esos valores en su cálculo, ignorando los valores 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 |
La función de recuento estándar incluye valores NULL en su recuento:
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] |