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ê examinou linhas arbitrárias de dados para ter uma noção da estrutura deles. 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:

    Screenshot of project operator results with six columns.

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

    Screenshot of the data type in a query editor.

  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:

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

  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?