演習 - project 演算子を使って返す列を選ぶ
Kusto クエリを使うと、データをフィルター処理して特定の情報を返すことができます。
データ構造を把握するために任意のデータ行を見たことを思い出してください。 このユニットでは、嵐の種類、場所、その被害の影響に関する特定のデータ列を選ぶ方法について学習します。
project
演算子を使用します
気象データの例には、かなりの数の列があることを思い出してください。 これらの列のすべてが今回の調査に意味があるわけではありません。 ここでは、いくつかの列を選んで表示します。 project
演算子を使って、出力に表示する列を定義します。 複数の列名はコンマで区切ります。
次のクエリを実行します。 このクエリを使うと、
project
演算子内で返す列とその順序を指定できます。StormEvents | project EventType, State, DamageProperty, DamageCrops, InjuriesDirect, InjuriesIndirect | take 10
次の画像のような結果が得られるはずです。
project
演算子で指定した列のみが出力に表示されていることに注目してください。
列の名前変更と新しい列の定義には project
を使います。
米国の州における嵐の影響を把握するために、負傷者数と損害額の合計を求める必要があります。 project
演算子を使うと、異なる列の整数値を合計し、その結果を新しい列で返すことができます。 また、列の名前を変更して、分析とってより意味のあるものにすることもできます。
たとえば、州のある国/地域は他にもあります。 州の列名を変更して、結果が米国の州のものであることを明確にすると役立つ場合があります。 先ほどのクエリを変更して、米国の州の負傷者数と損害額の合計を求める方法を見てみましょう。
前のクエリを更新して、InjuriesDirect と InjuriesIndirect の合計を示す新しい列を作成します。
Injuries=InjuriesDirect+InjuriesIndirect
同じように、農作物への損害額と財産への損害額を足し合わせて 2 種類の損害額の列を作ります。
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
演算子を使用します
複数の選んだ列を削除するにはどうすればよいでしょうか。 これまでの手順では、各エピソードと事象に割り当てられた ID を使っていません。 特定の列を削除するには、project-away
演算子を使います。これは削除する列を示し、残りの列はすべてそのままです。 また、| project-away *Id
などのワイルドカードを使って、末尾に ID が付くすべての列を削除することもできます。
次のクエリを実行します。
StormEvents | project-away EpisodeId, EventId | take 10
結果を確認します。 EpisodeId と EventId の列は、EndTime と State の列の間にあったことを思い出してください。 これらのうち、どの列が出力に表示されますか。