Exercício – selecionar colunas a serem retornadas usando o operador project
As consultas Kusto podem ser usadas para filtrar dados e retornar informações específicas.
Lembre-se de que você analisou linhas de dados arbitrárias para compreender a estrutura desses dados. Nesta unidade, você aprenderá a escolher colunas de dados específicas relacionadas a tipos de tempestades, locais e os danos causados.
Use o operador project
Se você se lembra, o exemplo de dados meteorológicos tem algumas colunas. Nem todas essas colunas são significativas para nossa exploração. Você escolherá apenas algumas colunas para exibir. Você usará o operador project
para definir quais colunas você quer ver na saída. Os nomes de coluna são separados por vírgulas.
Execute a consulta a seguir. Essa consulta nomeia as colunas a serem retornadas e a ordem delas no operador
project
.StormEvents | project EventType, State, DamageProperty, DamageCrops, InjuriesDirect, InjuriesIndirect | take 10
Você deve obter resultados parecidos com a seguinte imagem:
Observe que apenas as colunas mencionadas no operador
project
aparecem na saída.
Renomear e definir novas colunas usando project
Para entender os impactos das tempestades nos estados dos EUA, é interessante obter o número total de ferimentos e a quantidade total de danos. Com o operador project
, você pode somar valores inteiros de colunas diferentes e retornar os resultados em uma nova coluna. Você também pode renomear colunas para torná-las mais significativas para sua análise.
Por exemplo, há outros países/regiões com estados. Convém renomear a coluna de estado para que fique claro que os resultados são para os estados dos EUA. Vamos ver como alterar sua consulta anterior para que você obtenha o número total de ferimentos e a quantidade de danos dos estados dos EUA.
Atualize sua consulta anterior para criar uma coluna que mostra a soma de InjuriesDirect e InjuriesIndirect:
Injuries=InjuriesDirect+InjuriesIndirect
Faça o mesmo para os dois tipos de colunas de danos, adicionando danos a plantações e danos à propriedade:
Damage=DamageCrops+DamageProperty
Passe o mouse sobre o nome da coluna no editor de consultas para ver o tipo de dados contido nas colunas. Podemos usar um operador numérico para adicionar os valores porque essas colunas são do tipo
int
(inteiro).Renomeie a coluna State para US_State:
US_State=State
Examine a consulta atualizada e execute-a. A consulta inclui cálculos de ferimentos, cálculos de danos e renomeação da coluna State.
StormEvents | project US_State=State, EventType, Injuries=InjuriesDirect+InjuriesIndirect, Damage=DamageCrops+DamageProperty | take 10
Você deve obter resultados parecidos com a seguinte imagem:
Observe que a coluna State foi renomeada para US_State. A coluna Injuries é nova e foi calculada como a soma de InjuriesDirect e InjuriesIndirect. A coluna Damage também é nova e foi calculada como a soma de DamageCrops e DamageProperty.
Use o operador project-away
E se você quiser remover algumas colunas específicas? Para essa exploração, você não tem nenhum uso para as IDs atribuídas a cada episódio e evento. Você pode remover colunas específicas usando o operador project-away
, que indica quais colunas remover, deixando todas as colunas restantes. Você também pode usar um caractere curinga, como | project-away *Id
, para remover todas as colunas que terminam em ID.
Execute a seguinte consulta:
StormEvents | project-away EpisodeId, EventId | take 10
Verifique os resultados. Lembre-se de que as colunas EpisodeID e EventID estavam entre as colunas EndTime e State. Quais dessas colunas você vê na saída?