#09 : Alteryxサンプルワークフロー「凸凹した商圏エリアを作成」- Alteryx & Tableau 連携 Advent Calendar 2018
当エントリは『Alteryx&Tableau連携 Advent Calendar 2018』シリーズの9本目のエントリです。
- Alteryx & Tableau 連携 Advent Calendar 2018 - Qiita
- Alteryx & Tableau 連携 Advent Calendar 2018 | シリーズ | DevelopersIO
当エントリでは、Alteryx Designerの実行ワークフローサンプル「Convex Hull Trade Area Creation(凸凹した商圏エリアを作成)」の内容を紹介します。
目次
「本日のテーマ」概要紹介
AlteryxとTableauはそのツール特性から非常に相性が良く、製品間それぞれにパートナー企業としての(特集)ページが設けられています。
本日は、Alteryx Designerの「Sample Workflows」にて展開されている「Tableau Starter Kit」の中で、「Spatial Analytics」配下の「Convex Hull Trade Area Creation(凸凹した商圏エリアを作成)」というサンプルワークフローについて見ていきたいと思います。
このワークフローでは、凸包(Convex hul)の技術を使って、店舗から最も近い顧客の割合に基づいて店舗の取引エリアを作成します。
ワークフローの全体像
サンプルワークフローの全体像は以下となります。
ワークフローを読み解く
入力データはInput Data Toolで計2つ指定されています。1つ目は顧客データ。
Input Data Toolを介して見ると最後の列[Point]は"Point"という文言が表示された形となっていますが、一度実行して結果を見てみると、以下の様にSpatial Objectとしてのポイント(点)の情報として定義されている事が確認出来ます。
2つ目は店舗マスタデータ。
こちらも顧客データ同様、店舗ごとのデータにSpatial Object(Point)のデータが含まれています。
Spatial Objectとしての「Point」情報を備えたデータ2つを入力情報として、「店舗に最も近い顧客の情報」を割り出します。ここで使うのがFind Nearest Toolです。
探索対象(ターゲット)とするのが顧客データのポイント(Centroid)、そして探索の基準となるのが店舗情報のポイント(Point)となります。また、対象範囲については「2マイル」の範囲内で探索する指定となっています。ちなみにAlteryxのツール内では、探索の基準点となる要素をU(Universe/ユニバース)というワードでも記載・表記しています。(ターゲットはそのままT(Target)。
出力で得られる結果の項目は以下3つ。ワークフローではそのまま出力項目として選択されています。
- FindNearestRank: ユニバースオブジェクトから最も近い場所のランクを表す整数。一番近いポイントを返すようにした場合、この数字は全て「1」となります。
- DistanceMiles(範囲をキロメートルで指定した場合はDistanceKilometers): ターゲットの場所からユニバースまでの直線パスの距離。
- Direction: ユニバースからターゲットに対する、相対的な方位。(参照:方位 - Wikipedia)
- 参考:
条件に合致したデータを、以下の様な形で確認する事が出来ました。
Find Nearest Toolを使って生成されたデータを用い、以下の処理を実施。
- Sort Tool: 店番号(Store Num)の昇順、ポイントからの距離(DistanceMiles)の昇順でソート
- Tile Tool: 上記ソート処理で並べた店番号に対し「Unique Value」メソッドを用いて番号を割当...(1)
- Summarize Tool: 店舗毎の顧客数を集計...(2)
- Join Tool: 上記(1)と(2)のデータを店番号(Store Num)で結合
Formula Toolで顧客の総数に対する、各顧客のそれぞれの店舗に最も近い割合を含むフィールドを生成し、Filterで不要な顧客レコードを削除。それぞれ、顧客の100%、75%、50%のデータを用意しています。
Poly-Build Toolでは、前述の処理で生成されたポイントデータを用い、ポリゴンデータを作成しています。
ここで用いているのは凸包(Convex Hull)という方法。1組の点を包むように描画出来る、最小の多角形を生成します。
ポリゴンは割合毎(100%,75%,50%)に作成しています。
Formula Toolで割合毎に出力した内容それぞれにラベル的文言のフィールドを追加した後、各々の情報をUnion Toolで集約。そして集約した内容そのものと、その集約した内容を以下の処理を経た結果と結合。
- Spatial Info Tool: 各ポリゴンの領域をマージして出力
- Summarize Tool: 各ポリゴングループの平均面積を算出
- Sort Tool: 領域面積の平均でソート
- Record ID Tool: 各レコードに「Group_Order」IDを割り当て
Spatial Info Toolでは、空間オブジェクトに関する表情報を抽出します。 エリア、空間オブジェクト、パーツ数、ポイント数、重心緯度/経度座標などの属性を明らかにすることができます。
処理を経た結果を確認してみます。以下の様な形でポリゴンが集約され、それぞれの情報についても詳細な情報が確認出来ました。
Type: Polygon Centroid: 39.734444841487, -104.92946679948 Number of Parts: 1 Number of Points: 6 Area: 1.98231131282515 Sq Mi / 5.13416273120169 Sq Km Length: 5.85301760321767 Mi / 9.41951876163274 Km Max Lat/Long: 39.74597, -104.912241672619 Min Lat/Long: 39.7205342309207, -104.94932044528
「Polygon for Tableau Tool」でポリゴンデータをTableau用に最適化した後、Sort ToolでTableauが正しい順序でポリゴンを再作成できるように"Group_Order"、"AlteryxKey"、および "Point Order"でデータを並べ替え。結果をTableau Workbookに出力して完了です。
- Alteryxのワークフロー『Polygon for Tableau』で市区町村・町丁目レベルの色塗りマップ領域(ポリゴン)を作成する #alteryx #tableau | DevelopersIO
- Polygon for Tableau |Tableau Community Forums
- Creating Polygons in Tableau Maps |Tableau Community Forums
- Alteryx Analytics Gallery | Polygon for Tableau
ワークフローの実行・Tableauワークブックの内容確認
画面右上の「Run」ボタン、または「Control」+「R」のショートカットでワークフローを実行。抽出ファイル(.tde)及びTableauワークブック(.twb)が出力されます。
出力されたTableauワークブックを開いてみます。以下の様な形で、Tableau上でポリゴンを表示させるVizを確認する事が出来ました。
まとめ
という訳で、『Alteryx&Tableau連携 Advent Calendar 2018』9本目、「Convex Hull Trade Area Creation(凸凹した商圏エリアを作成)」のご紹介でした。
引き続き、明日もお楽しみに!
- Alteryx & Tableau 連携 Advent Calendar 2018 - Qiita
- Alteryx & Tableau 連携 Advent Calendar 2018 | シリーズ | DevelopersIO
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。