Exercice : Visualiser des données avec l’opérateur Render

Effectué

Nous avons utilisé un jeu de données météorologiques pour agréger et comparer le nombre d’occurrences de certains types d’événements de tempête dans différents États américains pour l’année 2007. Ici, vous allez visualiser ces résultats à l’aide des graphiques temporels.

Utilisez l’opérateur render

Rappelez-vous que vous avez utilisé l’opérateur summarize pour regrouper des événements selon un champ commun nommé État. Dans l’unité précédente, vous avez utilisé différentes versions de l’opérateur count pour comparer le nombre et les types d’événements par État. La visualisation de ces résultats peut être utile pour comparer l’activité entre les États.

Pour visualiser les résultats, vous allez utiliser l’opérateur render. Cet opérateur intervient à la fin d’une requête. Dans l’opérateurrender, vous allez spécifier le type de visualisation à utiliser, par exemple columnchart, barchart, piechart, scatterchart, pivotchart et d’autres. Si vous le souhaitez, vous pouvez également définir différentes propriétés de la visualisation, telles que l’axe X ou l’axe Y.

Dans cet exemple, vous allez visualiser la requête précédente à l’aide d’un graphique à barres.

  1. Exécutez la requête suivante.

    Exécuter la requête

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

    Vous devez obtenir des résultats qui ressemblent à l’image suivante :

    Screenshot of query with bar chart results.

  2. Regardez la légende à droite du graphique à barres. Chaque valeur de la légende représente une colonne de données différente qui a été résumée par État dans la requête. Essayez de sélectionner l’une des valeurs, telles que count_, pour activer l’affichage de ces données dans le graphique à barres. En désactivant count_, vous supprimez le nombre total et il vous reste le nombre d’événements qui ont causé des dommages et un nombre d’événements distincts. Les résultats doivent ressembler à l’image suivante :

    Screenshot of column chart results with count_ field toggled off.

  3. Examinez le graphique à barres obtenu. Quelles informations pouvez-vous en tirer ? Vous remarquerez peut-être, par exemple, que le Texas compte le plus grand nombre de tempêtes individuelles, mais que l’Iowa a le plus d’événements de tempête causant des dommages.

Regrouper des valeurs à l’aide de la fonction bin()

Jusqu’à présent, vous avez utilisé des fonctions d’agrégation pour regrouper les événements par État. Examinons maintenant la répartition des tempêtes tout au long de l’année, en regroupant les données par heure. Les valeurs de temps que nous avons dans chaque enregistrement sont l’heure de début et l’heure de fin. Nous allons regrouper les heures de début de l’événement par semaine, afin de pouvoir voir combien de tempêtes se sont produites chaque semaine pendant l’année 2007.

Vous allez utiliser la fonction bin(), qui regroupe les valeurs dans des intervalles définis. Par exemple, vous pouvez avoir des données pour chaque jour de l’année et souhaiter regrouper ces dates par semaine. Ou alors, vous souhaitez regrouper les données de population par catégorie d’âge. La syntaxe de cet opérateur est la suivante :

bin(value,roundTo)

La valeur de la catégorie peut être un nombre, une date ou une période. Agrégez le total à l’aide de la fonction bin() pour obtenir un nombre d’événements par semaine. La valeur que vous souhaitez regrouper est StartTime de l’événement de tempête, avec une taille de classe roundTo de 7days ou 7d (son raccourci). Enfin, affichez les données sous forme de graphique à colonnes pour créer un histogramme.

  1. Exécutez la requête suivante :

    Exécuter la requête

    StormEvents
    | summarize count() by bin(StartTime, 7d)
    | render columnchart
    

    Vous devez obtenir des résultats qui ressemblent à l’image suivante :

    Screenshot of binned results graph.

  2. Examinez l’histogramme obtenu. Placez le pointeur de la souris sur l’une des barres pour voir l’heure de début de la classe (valeur X) et le nombre d’événements (valeur Y).

Utilisez l’opérateur sum

Dans la requête précédente, vous avez examiné le nombre d’événements de tempête au fil du temps. Examinons maintenant les dommages causés par ces tempêtes. Pour cela, vous allez utiliser la fonction d’agrégation sum, car vous souhaitez voir la quantité totale de dommages causés à chaque intervalle de temps. Le jeu de données avec lequel vous travaillez comporte deux colonnes liées aux dommages : DamageProperty et DamageCrops.

Dans la requête suivante, vous allez d’abord créer une colonne calculée qui ajoute ces deux sources de dommages. Ensuite, vous allez créer une agrégation des dommages totaux compartimentés par semaine. Enfin, vous allez afficher un graphique à colonnes représentant les dommages hebdomadaires causés par toutes les tempêtes.

  1. Exécutez la requête suivante :

    Exécuter la requête

    StormEvents
    | extend damage = DamageProperty + DamageCrops
    | summarize sum(damage) by bin(StartTime, 7d)
    | render columnchart
    

    Vous devez obtenir des résultats qui ressemblent à l’image suivante :

    Screenshot of damage column chart binned by week.

  2. La requête précédente vous montre les dommages en tant que fonction temporelle. Une autre façon de comparer les dommages est par type d’événement. Exécutez la requête suivante pour utiliser un graphique à secteurs pour comparer les dommages causés par différents types d’événements.

    Exécuter la requête

    StormEvents
    | extend damage = DamageProperty + DamageCrops
    | summarize sum(damage) by EventType
    | render piechart
    

    Vous devez obtenir des résultats qui ressemblent à l’image suivante :

    Screen shot of Kusto query with pie chart and results.

  3. Placez le pointeur de la souris sur l’une des sections du graphique à secteurs. Vous devriez voir la valeur absolue (dommages totaux causés par ce type d’événement) et le pourcentage correspondant de dommages globaux.