Exercício - Contar eventos usando a função de contagem

Concluído

Você pode usar uma consulta Kusto para explorar conjuntos de dados e obter insights. Lembre-se de que temos um conjunto de dados meteorológicos e queremos comparar eventos para obter informações a partir desses dados. Aqui, você descobrirá quantos de um determinado tipo de evento ocorreram em uma determinada área.

Utilizar a função count

O banco de dados de exemplo que estamos usando tem uma entrada para cada evento de tempestade nos EUA em 2007, para um total de cerca de 60 mil registros.

Para agrupar esses eventos em partes de informações, você usará o summarize operador. summarize é usado para todas as funções que agregam grupos de valores de várias linhas para formar um único valor de resumo. Você pode resumir a tabela inteira, por exemplo, contando o número de resultados usando a seguinte consulta:

Executar a consulta

Captura de tela da consulta geral e resultados do operador de contagem.

Você também pode resumir dados em grupos de tipos semelhantes de eventos especificando a maneira como deseja agrupar a agregação. Por exemplo, para contar eventos por estado, você escreverá uma consulta em summarize count state. Na verdade, a frase anterior é muito semelhante à consulta real. Você usará a função de agregação chamada count(), que conta o número de linhas por grupo. Essa função gera uma nova coluna que fornece a contagem de eventos agrupados por estado, que renomeamos dentro da consulta do nome padrão count_ para EventCount. Renomear novas colunas é uma prática recomendada para tornar as consultas e seus resultados mais legíveis.

  1. Copie e cole a consulta no editor de consultas.

    Executar a consulta

    StormEvents
    | summarize EventCount = count() by State
    | sort by EventCount
    
  2. Execute a consulta selecionando o botão Executar acima da janela de consulta ou pressionando Shift+Enter

    Você deve obter resultados parecidos com a seguinte imagem:

    Captura de tela do uso e resultados do operador de contagem.

Use as dcount() funções e countif()

A consulta anterior retornou o número de eventos por estado. Existem, no entanto, formas mais sofisticadas de contar eventos.

  • Por exemplo, você pode contar apenas certos tipos de eventos. A countif() função conta registros para os quais um predicado é verdadeiro. A consulta usando countif(DamageCrops > 0) contaria o número de registros para os quais o dano às lavouras foi maior que zero.
  • Você também pode contar tipos distintos de eventos usando a dcount() função.

Construímos uma consulta que usa o summarize operador com essas funções de contagem para responder às seguintes perguntas:

  • Quantas tempestades aconteceram em cada estado?
  • Quantos eventos em cada estado causaram danos?
  • Quantos tipos diferentes de eventos aconteceram em cada estado?

Observe que todos os elementos dentro do operador summarize são separados por vírgulas e são agrupados pela mesma coluna, neste caso State. As colunas não nomeadas no summarize operador são descartadas. Se quiser incluir outras colunas, nomeie-as após a coluna na qual os dados são resumidos.

  1. Execute a seguinte consulta:

    Executar a consulta

    StormEvents
    | summarize count(),
        EventsWithDamageToCrops = countif(DamageCrops > 0),
        Count = dcount(EventType) by State
    | sort by Count
    

    Você deve obter resultados parecidos com a seguinte imagem:

    Captura de ecrã da consulta Kusto que conta eventos por estado.

  2. Observe os nomes das colunas nos resultados. Que parte da consulta corresponde a cada coluna? Você pode ver que a dcount() função criou uma nova coluna e deu a ela o nome Count. Você também notará que usou esse nome como a coluna para o sort operador na consulta. Quantos tipos diferentes de tempestades ocorreram no Texas?

Utilize o distinct operador

A consulta anterior retornou uma contagem distinta de 27 tipos diferentes de tempestades no Texas durante o período de tempo coberto por esses dados. Seria interessante detalhar ainda mais e ver os nomes de todos esses tipos de tempestades. Para ver uma lista de cada tipo diferente de evento no Texas, use o distinct() operador, que lista os valores distintos de uma coluna específica.

  1. Execute a seguinte consulta:

    Executar a consulta

    StormEvents
    | where State == "TEXAS"
    | distinct EventType
    | sort by EventType asc
    

    Você deve obter resultados parecidos com a seguinte imagem:

    Captura de tela da consulta Kusto usando o operador distinto.

  2. Dê uma olhada na lista resultante. Algum dos tipos de tempestade o surpreendeu?