🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónAgregar y resumir actividad con summarize
5 tareas · 40 min · Principiante
Filtrar deja filas; resumir deja respuestas. `summarize` agrupa las filas por una o más columnas y calcula una cifra por grupo: cuántas operaciones hizo cada cuenta, cuántas fallaron, desde cuántas direcciones. En la Clínica Veterinaria Mastranto, el 9 de marzo, la tabla AzureActivity trae dieciocho operaciones de gestión de tres cuentas. Verás que la cuenta con más operaciones no es la que más falla, y que un resumen mal elegido puede esconder justo lo que importa. Todo es lectura del extracto, en UTC.
Objetivo de la sala
Filtrar deja filas; resumir deja respuestas. `summarize` agrupa las filas por una o más columnas y calcula una cifra por grupo: cuántas operaciones hizo cada cuenta, cuántas fallaron, desde cuántas direcciones. En la Clínica Veterinaria Mastranto, el 9 de marzo, la tabla AzureActivity trae dieciocho operaciones de gestión de tres cuentas. Verás que la cuenta con más operaciones no es la que más falla, y que un resumen mal elegido puede esconder justo lo que importa. Todo es lectura del extracto, en UTC.summarize recibe una agregación y, tras by, las columnas por las que agrupar. summarize count() by Caller devuelve una fila por cuenta con su número de operaciones. La cifra se llama count_ si no le das nombre; con Operaciones = count() la nombras tú, lo que permite ordenar con sort by Operaciones desc.
Hay un efecto importante: tras summarize, el resultado ya no tiene las columnas originales. Solo quedan las del by y las cifras calculadas. Cualquier paso posterior debe trabajar con esas columnas.
Responde para continuar
¿Qué cuenta hizo más operaciones de gestión en el extracto del día?
Ver pista de ayuda
Escribe `AzureActivity | summarize Operaciones = count() by Caller | sort by Operaciones desc` y lee la primera fila.
Un total por cuenta responde «quién hace más», no «quién tiene problemas». Para ver los fallos hay dos caminos: filtrar primero con where ActivityStatusValue == "Failed" y luego resumir, o dejar todas las filas y usar countif, que cuenta solo las que cumplen una condición. El segundo permite ver el total y la parte fallida en la misma fila.
Una cuenta con muchos fallos repetidos en poco tiempo puede ser una persona que no tiene permiso para algo que insiste en hacer, o alguien probando qué le deja hacer el sistema. El número solo plantea la pregunta; la respuesta está en los demás registros.
Responde para continuar
¿Qué cuenta tiene más operaciones de gestión fallidas?
Ver pista de ayuda
Escribe `AzureActivity | where ActivityStatusValue == "Failed" | summarize Fallos = count() by Caller`.
dcount cuenta valores distintos en lugar de filas. summarize Ips = dcount(CallerIpAddress) by Caller dice desde cuántas direcciones distintas operó cada cuenta. Una cuenta de persona que opera desde una sola oficina tiene un valor de 1; un valor mayor no es malo por sí mismo (alguien puede conectarse desde casa), pero invita a mirar cuáles son. En conjuntos grandes dcount es una estimación; con pocos valores sale exacto.
Responde para continuar
¿Desde cuántas direcciones IP distintas operó la cuenta [email protected]? Escribe solo el número.
Ver pista de ayuda
Escribe `AzureActivity | summarize Ips = dcount(CallerIpAddress) by Caller`.
bin(TimeGenerated, 1h) redondea cada hora hacia abajo a la hora en punto, de modo que todas las filas de 03:44 y 03:52 caen en la franja de las 03:00. Con summarize count() by bin(TimeGenerated, 1h) obtienes la actividad por hora. Es la base de todo gráfico de actividad y de la sala de series de tiempo que viene.
Una franja con una actividad muy distinta a las demás es el punto de partida de una pregunta. En la clínica casi todo ocurre en horas de trabajo; mira qué franja concentra más operaciones y a qué hora cae.
Responde para continuar
¿Cuántas operaciones tiene la franja de una hora con más actividad? Escribe solo el número.
Ver pista de ayuda
Escribe `AzureActivity | summarize Operaciones = count() by bin(TimeGenerated, 1h)` y busca la cifra mayor.
arg_max devuelve, por grupo, la fila con el valor mayor de una columna. summarize arg_max(TimeGenerated, OperationNameValue) by Caller entrega la última operación de cada cuenta, con su hora. Prueba esa consulta y compara sus columnas con las de la tabla original.
Lo que ves es la regla general de summarize: salvo que lo pidas con una agregación como arg_max, las columnas de detalle (el recurso, la dirección, el grupo de recursos) no sobreviven al agrupar. Si las necesitas después, hay que incluirlas en el by o recuperarlas con otra agregación.
Responde para continuar
Escribes `AzureActivity | summarize count() by Caller | project ResourceGroup`. ¿Qué ocurre con la columna ResourceGroup?
Ver pista de ayuda
Mira qué columnas tenía el resultado de summarize count() by Caller.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.