Ejercicio: recuento de eventos mediante la función Count

Completado

Puede usar una consulta de Kusto para explorar conjuntos de datos y obtener información. Recuerde que tenemos un conjunto de datos meteorológicos y queremos comparar eventos para obtener información de estos datos. Aquí, averiguará cuántos eventos de un tipo determinado se produjeron en un área determinada.

Usar la función count

La base de datos de ejemplo que usamos tiene una entrada para cada evento de tormenta en EE. UU. en 2007, con un total de aproximadamente 60 000 registros.

Para agrupar estos eventos en fragmentos de información, usará el operador summarize. summarize se usa para todas las funciones que agregan grupos de valores de varias filas para formar un único valor de resumen. Puede resumir toda la tabla, por ejemplo, contando el número de resultados mediante la consulta siguiente:

Ejecución de la consulta

Screenshot of count operator general query and results.

También puede resumir los datos en grupos de tipos similares de eventos especificando la forma en que quiere agrupar la agregación. Por ejemplo, para contar eventos por estado, escribirá una consulta en summarizecount por state. De hecho, la oración anterior es muy similar a la consulta real. Usará la función de agregación denominada count(), que cuenta el número de filas por grupo. Esta función genera una nueva columna que proporciona el recuento de eventos agrupados por estado, cuyo nombre se ha cambiado en la consulta pasando del nombre predeterminado count_ a EventCount. El cambio de nombre de las nuevas columnas es una práctica recomendada para hacer que las consultas y sus resultados sean más legibles.

  1. Copie y pegue la consulta en el editor de consultas.

    Ejecución de la consulta

    StormEvents
    | summarize EventCount = count() by State
    | sort by EventCount
    
  2. Ejecute la consulta mediante la selección del botón Ejecutar, situado encima de la ventana de consulta, o pulsando Mayús+Entrar.

    Debería obtener resultados similares a la imagen siguiente:

    Screenshot of count operator usage and results.

Uso de las funciones dcount() y countif()

La consulta anterior devolvió el número de eventos por estado. Sin embargo, hay formas más sofisticadas de contar eventos.

  • Por ejemplo, podría contar solo determinados tipos de eventos. La función countif() cuenta los registros para los que un predicado es true. La consulta que usa countif(DamageCrops > 0) contaría el número de registros para los que el daño en los cultivos fuese mayor que cero.
  • También puede contar distintos tipos de eventos mediante la función dcount().

Hemos creado una consulta que usa el operador summarize con estas funciones de recuento para responder a las siguientes preguntas:

  • ¿Cuántos eventos de tormenta se produjeron en cada estado?
  • ¿Cuántos eventos de cada estado causaron daños?
  • ¿Cuántos tipos diferentes de eventos se produjeron en cada estado?

Observe que todos los elementos del operador summarize están separados por comas y se agrupan por la misma columna, en este caso State. Las columnas que no se nombran en el operador summarize se quitan. Si quiere incluir otras columnas, asígneles el nombre de la columna en la que se resumen los datos.

  1. Ejecute la siguiente consulta:

    Ejecución de la consulta

    StormEvents
    | summarize count(),
        EventsWithDamageToCrops = countif(DamageCrops > 0),
        Count = dcount(EventType) by State
    | sort by Count
    

    Debería obtener resultados similares a la imagen siguiente:

    Screenshot of Kusto query that counts events by state.

  2. Observe los nombres de columna en los resultados. ¿Qué parte de la consulta corresponde a cada columna? Puede ver que la función dcount() creó una nueva columna y le asignó el nombre Count. También observará que usó este nombre como columna para el operador sort en la consulta. ¿Cuántos tipos de tormentas diferentes se produjeron en Texas?

Use el operador distinct.

La consulta anterior devolvió un recuento distinto de 27 tipos diferentes de tormentas en Texas durante el período de tiempo cubierto por estos datos. Sería interesante profundizar más y ver los nombres de todos esos tipos de tormentas. Para ver una lista de cada tipo de evento diferente en Texas, use el operador distinct(), que enumera los valores distintos de una columna determinada.

  1. Ejecute la siguiente consulta:

    Ejecución de la consulta

    StormEvents
    | where State == "TEXAS"
    | distinct EventType
    | sort by EventType asc
    

    Debería obtener resultados similares a la imagen siguiente:

    Screenshot of Kusto query using the distinct operator.

  2. Eche un vistazo la lista resultante. ¿Le sorprendió alguno de los tipos de tormentas?