Exercício – selecionar colunas a serem retornadas usando o operador project

Concluído

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.

  1. Execute a consulta a seguir. Essa consulta nomeia as colunas a serem retornadas e a ordem delas no operador project.

    Executar a consulta

    StormEvents
    | project EventType, State, DamageProperty, DamageCrops, InjuriesDirect, InjuriesIndirect
    | take 10
    
  2. Você deve obter resultados parecidos com a seguinte imagem:

    Captura de tela dos resultados do operador project com seis colunas.

  3. 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.

  1. Atualize sua consulta anterior para criar uma coluna que mostra a soma de InjuriesDirect e InjuriesIndirect:

    Injuries=InjuriesDirect+InjuriesIndirect

  2. Faça o mesmo para os dois tipos de colunas de danos, adicionando danos a plantações e danos à propriedade:

    Damage=DamageCrops+DamageProperty

  3. 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).

    Captura de tela do tipo de dados em um editor de consultas.

  4. Renomeie a coluna State para US_State:

    US_State=State

  5. Examine a consulta atualizada e execute-a. A consulta inclui cálculos de ferimentos, cálculos de danos e renomeação da coluna State.

    Executar a consulta

    StormEvents
    | project US_State=State, EventType, Injuries=InjuriesDirect+InjuriesIndirect, Damage=DamageCrops+DamageProperty
    | take 10
    
  6. Você deve obter resultados parecidos com a seguinte imagem:

    Captura de tela dos resultados da consulta para um operador project que renomeia colunas.

  7. 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.

  1. Execute a seguinte consulta:

    Executar a consulta

    StormEvents
    | project-away EpisodeId, EventId
    | take 10
    
  2. 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?