Challenge #43: Inspire Europe ’16 Grand Prix (L2) ~事故件数が最多のエリアの特定等~ – Alteryx Weekly Challenge
こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。
当エントリは『Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018』の12日目です。
- Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018 - Qiita
- Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018 | シリーズ | Developers.IO
『Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018』では、Alteryx Communityで公開されているWeekly ChallengeのIntermediate Levelにひたすら1人で挑戦していきます。
今回は事故件数が最多のエリアの特定等に挑戦します。
動作環境
当エントリの執筆には、以下の環境を利用しています。
- Windows 10 Pro
- Alteryx Designer 2018.4.3.54046 英語版
Challenge #43: Inspire Europe '16 Grand Prix (L2)
お題
今回挑戦するお題はこちら。
「Input」側には2つのデータが用意されています。通常は「Output」側に答えとなるデータがありますが、今回は用意されていません。お題の説明に出力するデータの条件が記載されています。
- 最も事故の影響を受けたエリアを特定する
- 2015年における9月1日以降の事故の割合(%)を求める
- 2014年と2015年における9月1日以降の事故の割合(%)を比較する
模範解答のワークフローを確認すると、出力する割合は%にしていないようですが、今回は%にて対応いたします。
解答の概要
今回作成するワーフクローは以下の通りです。
- Create Points、Spatial Match、Summarize、Sortツールを使用してエリアを特定
- Filter、Summarize、Join、Formulaツールを使用して事故の割合(%)を出力
- Join、Formulaツールを使用して2014年と2015年を比較
最も事故の影響を受けたエリア
1つ目のデータには緯度経度の情報があります。
緯度経度の情報をCreate Pointsツール(Spatial -> Create Points)を使用して、Pointデータを作成します。X Field に「CentroidX」列、Y Field に「CentroidY」列、Fields are Lat/Long Floating Point
を選択します。
2つ目のデータには「Postcode Area」「SpatialObj」列があり、郵便番号エリアとPolygonデータが用意されています。
1つ目のデータと結合するため、Spatial Matchツール(Spatial -> Spatial Match)を使用します。1つ目のデータから T の入力に接続、2つ目のデータから U の入力に接続します。Spatial Object Field にはそれぞれのデータの位置情報が含まれる列を選択します。
Summarizeツール(Transform -> Summarize)を使用して、「Postcode Area」列でグループ化し、数を出力します。
Sortツール(Preparation -> Sort)を使用して、「Count」列を降順に並べ替えます。
結果を確認します。一番上に出力されているものが、最も事故の影響を受けたエリアになります。
2015年における9月1日以降の事故の割合(%)
Spatial Matchツールから出力されるデータを使用して処理を追加していきます。
Filterツール(Preparation -> Filter)を使用して、2015年1月1日移行のデータ(2015年の1年間のデータ)と、2015年9月1日以降のデータを作成します。
Summarizeツールを使用して、レコード数を出力します。
Joinツール(Join -> Join)で Join by Record Position を使用して、2015年1月1日移行のデータと2015年9月1日以降のデータを結合します。
Formulaツール(Preparation -> Formula)を使用して、新しく「2015_percent」列をDouble型で作成し、計算式を設定して割合(%)を出力します。
結果を確認して完成です。
2014年と2015年の比較
前項と同じ要領で2014年の9月1日以降の事故の割合(%)を出力します。
2014年のデータと2015年のデータを、Joinツールで結合します。データの結合には Join by Record Position を使用します。
Formulaツールで新しく「diff」列をDouble型で作成し、「2014_percent」列と「2015_percent」列の差分を出力します。
結果を確認して完成です。
最後に
今回はWeekly ChallengeのChallenge #43: Inspire Europe '16 Grand Prix (L2)に挑戦しました。
明日もお楽しみに!
サンプルワークフローのご案内
クラスメソッドでご契約のユーザー様向けに、当ブログでご紹介したワークフローを専用ポータルにて公開しております。当エントリでご紹介したワークフローも公開予定ですので、ご参考にしていただきますと幸いです。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。