演習 - render 演算子を使用してデータを視覚化する

完了

気象データセットを使用して、2007 年の米国のさまざまな州で発生したある種の暴風雨の数の集計と比較を行いました。 ここでは、時間ビン分割されたグラフを使用して、これらの結果を視覚化します。

render 演算子を使用します

summarize 演算子を使用して、State などの共通フィールドでイベントをグループ化したことを思い出してください。 前のユニットでは、さまざまなバージョンの count 演算子を使用して、州別にイベントの数と種類を比較しました。 これらの結果を視覚化することは、州間でのアクティビティの比較に役立ちます。

結果を視覚化するには、render 演算子を使用します。 この演算子は、クエリの最後に表示されます。 render 演算子内で、使用する視覚エフェクトの種類 (例: columnchartbarchartpiechartscatterchartpivotchartなど) を指定します。 必要に応じて、x 軸や y 軸など、視覚エフェクトのさまざまなプロパティを定義することもできます。

この例では、横棒グラフを使用して前のクエリを視覚化します。

  1. 次のクエリを実行します。

    クエリを実行する

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

    次の画像のような結果が得られるはずです。

    クエリに対する横棒グラフの結果のスクリーンショット。

  2. 横棒グラフの右側にある凡例に注目してください。 凡例の各値は、クエリの State で要約されたデータの異なる列を表します。 count_ などのいずれかの値を選択して、このデータの横棒グラフでの表示を切り替えます。 count_ をオフにすることで、合計カウントを削除し、損害の原因となったイベントの数と個別のイベント数を残します。 次の画像のようなグラフが得られるはずです。

    count_ フィールドがオフになっている縦棒グラフの結果のスクリーンショット。

  3. 横棒グラフの一覧を確認します。 これからどのような洞察を得ることができますか。 たとえば、テキサス州に最も多くの種類の暴風雨があったのに対し、アイオワ州は最も高い被害を与えた暴風雨の発生率が高かったことに気付くかもしれません。

bin() 関数を使用して値をグループ化する

これまでは、集計関数を使用して、State によってイベントをグループ化してきました。 時間別にデータをグループ化して、1 年を通して暴風雨の分布を見てみましょう。 すべてのレコードに含まれる時間値は、開始時刻と終了時刻です。 2007 年の間に毎週発生した暴風雨の数を確認できるように、イベントの開始時刻を週ごとにグループ化しましょう。

bin() 関数を使用して、値を設定された間隔にグループ化します。 たとえば、1 年間の毎日のデータがあり、これらの日付を週ごとにグループ化したい場合があります。 または、年齢ビン別に人口データをグループ化したい場合があります。この演算子の構文は次のとおりです。

bin(value,roundTo)

ビンの値には、数値、日付、期間を指定できます。 bin() 関数を使用してカウントを集計し、1 週間あたりのイベント数を得ます。 グループ化する "値" は、暴風雨の StartTime で、roundTo のビン サイズは 7days または短縮形の 7d です。 最後に、データを columnchart として "レンダリング" してヒストグラムを作成します。

  1. 次のクエリを実行します。

    クエリを実行する

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

    次の画像のような結果が得られるはずです。

    bin の結果のグラフのスクリーンショット。

  2. 結果のヒストグラムを確認します。 いずれかのバーにカーソルを合わせると、ビンの開始時刻 (x 値) とイベント数 (y 値) が表示されます。

sum 演算子を使用します

前のクエリでは、時間の経過に伴う暴風雨の数を確認しました。 それでは、これらの暴風雨によって引き起こされた被害を見てみましょう。 この場合、sum 集計関数を使用します。各期間で発生した損害の合計を確認する必要があるためです。 使用しているデータセットには、DamagePropertyDamageCrops の 2 つの列があります。

次のクエリでは、まず、これら 2 つの損害源を一緒に追加する計算列を作成します。 次に、週ごとにビン分割された総損害の集計を作成します。 最後に、すべての暴風雨による毎週の損害を表す縦棒グラフをレンダリングします。

  1. 次のクエリを実行します。

    クエリを実行する

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

    次の画像のような結果が得られるはずです。

    bin で損害を週ごとに表した縦棒グラフのスクリーンショット。

  2. 前のクエリでは、時間の関数として損害が表示されます。 ダメージを比較するもう 1 つの方法は、イベントの種類です。 次のクエリを実行して、円グラフを使用して、さまざまなイベントの種類に起因する損害を比較します。

    クエリを実行する

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

    次の画像のような結果が得られるはずです。

    Kusto クエリでの円グラフと結果のスクリーンショット。

  3. 円グラフのいずれかのスライスにカーソルを合わせます。 絶対値 (このイベントの種類によって発生した損害の合計) と、全体的な損害の対応する割合が表示されます。