Ejercicio: Selección de las columnas que se van a devolver mediante el operador project
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 la estructura de datos. 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.
Ejecute la siguiente consulta. Esta consulta asigna un nombre a las columnas que se van a devolver y su orden dentro del operador
project
.StormEvents | project EventType, State, DamageProperty, DamageCrops, InjuriesDirect, InjuriesIndirect | take 10
Debería obtener resultados similares a la imagen siguiente:
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.
Actualice la consulta anterior para crear una nueva columna que muestre la suma de InjuriesDirect e InjuriesIndirect:
Injuries=InjuriesDirect+InjuriesIndirect
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
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).Cambie el nombre de la columna State a US_State:
US_State=State
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.
StormEvents | project US_State=State, EventType, Injuries=InjuriesDirect+InjuriesIndirect, Damage=DamageCrops+DamageProperty | take 10
Debería obtener resultados similares a la imagen siguiente:
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.
Ejecute la siguiente consulta:
StormEvents | project-away EpisodeId, EventId | take 10
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?