練習 - 使用專案運算子選取要傳回的資料行
您可使用 Kusto 查詢來篩選資料並傳回特定資訊。
回想一下,您已查看任意資料列,以了解其資料結構。 在本單元中,您將了解如何選擇與 Storm 型別、位置和損害效果相關的特定資料行。
使用 project
運算子
如果您還記得的話,氣象資料範例有相當多的資料行。 並非所有資料行都對於這項探索具有意義。 您只要選擇幾個要檢視的資料行。 您將使用 project
運算子來定義要在輸出中看到的資料行。 資料行名稱會以逗號分隔。
執行下列查詢。 此查詢會在
project
運算子內將要傳回的資料行與其順序命名。StormEvents | project EventType, State, DamageProperty, DamageCrops, InjuriesDirect, InjuriesIndirect | take 10
您應該會取得如下圖所示的結果:
請注意,僅運算子中
project
提及的資料行會出現在輸出內容中。
使用 project
重新命名與定義新資料行
若要了解美國各州的暴風影響,您想要取得傷患總人數和損害總金額。 有了 project
運算子後,您即可加總不同資料行的整數值,並在新的資料行中傳回結果。 您也可以重新命名資料行,使其對於您執行的分析更具意義。
例如,還有其他具有州的國家/地區。 重新命名州資料行可能有所助益,如此一來即可清楚知道該結果適用於美國的州。 查看如何變更之前的查詢,以取得美國各州傷患總人數與損害總金額。
更新您之前的查詢以建立新的資料行,即可顯示 InjuriesDirect 與 InjuriesIndirect 的總和:
Injuries=InjuriesDirect+InjuriesIndirect
在兩種型別的損毀資料行執行相同動作,方法是農作物損害與資產損害加總:
Damage=DamageCrops+DamageProperty
將滑鼠停留在查詢編輯器中的資料行名稱上方,以查看資料行中包含的資料型別。 您可以使用數值運算子來新增值,原因是這些資料行的型別為
int
(整數)。將 State 資料行重新命名為 US_State:
US_State=State
檢閱更新的查詢並執行。 完整查詢包括針對傷患的統計資料、損害的統計資料,並重新命名 State 資料行。
StormEvents | project US_State=State, EventType, Injuries=InjuriesDirect+InjuriesIndirect, Damage=DamageCrops+DamageProperty | take 10
您應該會取得如下圖所示的結果:
請注意,State 資料行已重新命名為 US_State。 Injuries 資料行是新的,而且為 InjuriesDirect 與 InjuriesIndirect 的總和。 Damage 資料行也是新的,而且為 DamageCrops 與 DamageProperty 的總和。
使用 project-away
運算子
如果您想要移除幾個已選取的資料行,該怎麼做? 在此探索中,您沒有指派任何用途給每集與每個事件的識別碼。 您可以使用 project-away
運算子來移除特定資料行,這表示移除您要移除的資料行,同時保留所有剩餘的資料行。 您也可以使用萬用字元,例如 | project-away *Id
,以移除所有以 Id 結尾的資料行。
執行下列查詢:
StormEvents | project-away EpisodeId, EventId | take 10
檢查您的結果。 回想一下,EpisodeID 和 EventID 資料位於 EndTime 和 State 資料行之間。 您在輸出中看到哪一個資料行?