Ejercicio: Selección de las columnas que se van a devolver mediante el operador project

Completado

Puede usar consultas de Kusto para filtrar datos y devolver información específica.

Recuerde que ha examinado filas arbitrarias de datos para obtener una idea de su estructura. En esta unidad va a aprender a seleccionar columnas de datos específicas relacionadas con los tipos de tormenta, las ubicaciones y sus efectos.

Use el operador project.

Si se acuerda, el ejemplo de datos meteorológicos tiene bastantes columnas. No todas estas columnas son significativas para esta exploración. Va a seleccionar solo algunas columnas para verlas. Va a usar el operador project para definir qué columnas quiere ver en la salida. Los nombres de columna se separan mediante comas.

  1. Ejecute la siguiente consulta. Esta consulta asigna un nombre a las columnas que se van a devolver y su orden dentro del operador project.

    Ejecución de la consulta

    StormEvents
    | project EventType, State, DamageProperty, DamageCrops, InjuriesDirect, InjuriesIndirect
    | take 10
    
  2. Debería obtener resultados similares a la imagen siguiente:

    Screenshot of project operator results with six columns.

  3. Observe que solo las columnas mencionadas en el operador project aparecen en la salida.

Cambio de nombre y definición de nuevas columnas mediante project

Para comprender los efectos de las tormentas en los estados de EE. UU., quiere obtener el número total de heridos y la cantidad de daños. Con el operador project puede sumar valores enteros de distintas columnas y devolver los resultados en una nueva columna. También puede cambiar el nombre de las columnas para que sea más significativo para el análisis.

Por ejemplo, hay otros países o regiones con estados. Puede ser útil cambiar el nombre de la columna State para que quede claro que los resultados corresponden a estados de EE. UU. Veamos cómo cambiar la consulta anterior para obtener el número total de heridos y la cantidad de daños en los estados de EE. UU.

  1. Actualice la consulta anterior para crear una nueva columna que muestre la suma de InjuriesDirect e InjuriesIndirect:

    Injuries=InjuriesDirect+InjuriesIndirect

  2. Haga lo mismo con los dos tipos de columnas de daños mediante la suma de los daños a los cultivos y los daños a la propiedad:

    Damage=DamageCrops+DamageProperty

  3. Mantenga el puntero sobre el nombre de columna en el editor de consultas para ver el tipo de datos incluido en las columnas. Puede usar un operador numérico para sumar los valores porque estas columnas son de tipo int (entero).

    Screenshot of the data type in a query editor.

  4. Cambie el nombre de la columna State a US_State:

    US_State=State

  5. Revise la consulta actualizada y ejecútela. La consulta completa incluye cálculos de heridos, cálculos de daños y cambio del nombre de la columna State.

    Ejecución de la consulta

    StormEvents
    | project US_State=State, EventType, Injuries=InjuriesDirect+InjuriesIndirect, Damage=DamageCrops+DamageProperty
    | take 10
    
  6. Debería obtener resultados similares a la imagen siguiente:

    Screenshot of query results for a project operator that renames columns.

  7. Observe que se ha cambiado el nombre de la columna State a US_State. La columna Injuries es nueva y se ha calculado como la suma de InjuriesDirect e InjuriesIndirect. La columna Damage también es nueva y se ha calculado como la suma de DamageCrops y DamageProperty.

Use el operador project-away.

¿Qué pasa si quiere quitar algunas columnas seleccionadas? En esta exploración los identificadores asignados a cada episodio y evento no sirven para nada. Puede quitar columnas específicas mediante el operador project-away, que indica qué columnas quitar a la vez que deja todas las columnas restantes. También puede usar un carácter comodín, como | project-away *Id, para quitar todas las columnas que terminan en Id.

  1. Ejecute la siguiente consulta:

    Ejecución de la consulta

    StormEvents
    | project-away EpisodeId, EventId
    | take 10
    
  2. Compruebe los resultados. Recuerde que las columnas EpisodeId y EventId estaban entre las columnas EndTime y State. ¿Cuál de estas columnas ve en la salida?