練習 - 使用 render 運算子將資料視覺化

已完成

我們已使用氣象資料集來彙總並比較 2007 年美國不同州的特定類型風災事件數。 在這裡,您會藉助時間量化圖表,將這些結果視覺化。

使用 render 運算子

回想一下,您已使用 summarize 運算子,依「狀態」之類的一般欄位將事件分組。 在上一個單元中,您已使用不同版本的 count 運算子,依狀態比較事件的數目和類型。 將這些結果視覺化有助於跨狀態比較活動。

若要將結果視覺化,請使用 render 運算子。 這個運算子會出現在查詢結尾處。 在 render 運算子內,您將指定要使用的視覺效果類型,例如 columnchartbarchartpiechartscatterchartpivotchart 和其他。 您也可以選擇性地定義不同的視覺效果屬性,例如 X 軸或 Y 軸。

在此範例中,您會使用橫條圖將先前的查詢視覺化。

  1. 執行下列查詢。

    執行查詢

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

    您應該會取得如下圖所示的結果:

    具有橫條圖結果的查詢螢幕擷取畫面。

  2. 請注意橫條圖右側的圖例。 圖例中的每個值都代表不同資料行的資料,這些資料已在查詢中由「狀態」加以彙總。 嘗試選取其中一個值 (例如 count_) 以切換橫條圖中此資料的顯示。 藉由將 count_ 切換為關閉,您會移除總計數,並留下造成損毀的事件計數和不同的事件數目。 您應該會取得如下圖所示的圖形:

    資料行圖表結果的螢幕擷取畫面,其中 count_ 欄位已切換為關閉。

  3. 查看結果產生的橫條圖。 您可以從其中取得哪些深入解析? 例如,您可能會注意到德州發生的個別風暴事件最多,但愛荷華州的破壞性風暴事件發生率最高。

使用 bin() 函式將值分組

到目前為止,您已使用彙總函式依「狀態」將事件分組。 現在,讓我們依時間將資料分組,來查看整年風暴的分佈情形。 我們在每筆記錄中具有的時間值是開始時間和結束時間。 讓我們依周將事件開始時間分組,以便可以看到 2007 年每週發生多少個風暴。

您將使用 bin() 函式,其會將值分組為設定間隔。 例如,您可能會有來自該年每天的資料,而且想要依周將這些日期分組。 或者,您想要依年齡分組將人口資料分組。此運算子的語法為:

bin(value,roundTo)

分組值可以是數字、日期或時間範圍。 您將使用 bin() 函式彙總計數,為您提供每週的事件計數。 您想要分組的「值」是風暴事件的 StartTime ,並將分組大小 roundTo7days7d (簡稱)。 最後,將資料「轉譯」為「直條圖」,以建立長條圖。

  1. 執行下列查詢:

    執行查詢

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

    您應該會取得如下圖所示的結果:

    分組結果圖形的螢幕擷取畫面。

  2. 查看結果產生的長條圖。 將滑鼠停留在其中一個橫條上方,以查看分組開始時間 (x 值),以及事件計數 (y 值)。

使用 sum 運算子

在上一個查詢中,您已查看一段時間的風暴事件數目。 現在讓我們看看這些風暴所造成的損害。 因此,您將使用 sum 彙總函式,因為您想要查看每個時間間隔所造成的損害總量。 您正在使用的資料集有兩個與損害相關的資料行:DamagePropertyDamageCrops

在下列查詢中,您首先會建立一個計算結果欄,將這兩個損害來源加在一起。 然後,您會建立依週分類的總損害彙總。 最後,您將轉譯直條圖,代表所有風暴所造成的每週損害。

  1. 執行下列查詢:

    執行查詢

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

    您應該會取得如下圖所示的結果:

    損害直條圖 (依週分類) 的螢幕擷取畫面。

  2. 上一個查詢會將損害顯示為時間函式。 比較損害的另一種方式是依事件類型。 執行下列查詢,以使用圓形圖來比較不同事件種類所造成的損害。

    執行查詢

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

    您應該會取得如下圖所示的結果:

    具有圓形圖和結果的 Kusto 查詢螢幕擷取畫面。

  3. 將滑鼠停留在圓形圖的其中一個切片上方。 您應該會看到絕對值 (此事件類型所造成的總損害),以及整體損害的對應百分比。