Challenge #15: Warehouse Shipped Miles 〜商品ごとの出荷マイルの合計〜 – Alteryx Weekly Challenge

2018.11.29

こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。

Alteryx CommunityWeekly Challengeに挑戦するシリーズ。今回は商品ごとの出荷マイルの合計に挑戦します。

Challenge #15: Warehouse Shipped Miles

お題

今回挑戦するお題はこちら。

「Input」側にはデータが3つ用意されています。1つ目のデータには店舗の緯度経度の情報があります。

2つ目のデータには各店舗に必要な商品と割り当てられた数があります。

3つ目のデータには倉庫の緯度経度の情報があります。

「Output」側のデータはこちら。商品ごとの出荷マイルの合計が出力されています。

解答の概要

今回作成するワーフクローは以下の通りです。

  1. Create Points、Joinツールで店舗の位置情報の作成と2つのデータの結合
  2. Create Pointsツールで倉庫の位置情報を作成
  3. Find Nearestツールで各店舗の最寄りの倉庫の距離を出力
  4. Formula、Summarizeツールで商品ごとの出荷マイルの合計を出力

解答の詳細

1つ目のデータには店舗の緯度経度の情報があります。Create Pointsツール(Spatial -> Create Points)の X Field に「Lon」列、 Y Field に「Lat」列を指定して、位置情報を出力します。

「Centroid」列が作成され、Pointという位置情報のデータが出力されています。

Joinツール(Join -> Join)を使用して、店舗の情報が含まれる1つ目のデータと2つ目のデータを結合します。 Join by Specific Fields で「Store」列を指定してデータを結合します。また、データを確認しやすいように不要な列は削除します。

3つ目のデータには倉庫の緯度経度の情報があります。店舗のデータと同様にCreate Pointsツールを使用して位置情報を出力します。

Find Nearestツール(Spatial -> Find Nearest)を使用して、店舗の最寄りの倉庫を検出し、距離を出力します。店舗のデータをFind Nearestツールの T (Targets) の入力に接続し、倉庫のデータをFind Nearestツールの U (Universe) の入力に接続します。

Find Nearestツールの設定ウィンドウでは、 TargetsUniverseSpatial Objects Field に、店舗側と倉庫側のそれぞれのデータの「Centroid」列が指定されています。 How many nearest points to find? には 1Maximum Distance には 10000 Miles を指定し、全ての店舗が最寄りの倉庫を1つ見つけられるように設定します。また、データを確認しやすいように不要な列は削除します。

Formulaツール(Preparation -> Formula)を使用して、新しく「Assigned_DistanceMiles」列を作成します。 [Assigned] * [DistanceMiles] を設定し、各店舗に割り当てられた商品の数と距離を掛け算した結果を出力します。データ型は Double を指定しています。

Summarizeツール(Transform -> Summarize)を使用して、「Item」列を Group by でグループ化し、「Assigned_DistanceMiles」列を Sum で合計を出力します。

ワークフローを実行して結果を確認。完成です。

最後に

今回はWeekly ChallengeのChallenge #15: Warehouse Shipped Milesに挑戦しました。

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400