Challenge #25: Creating Merchant Combos 〜訪問した店舗の組み合わせの作成〜 – Alteryx Weekly Challenge

2018.12.02

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

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

当エントリは『Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018』の2日目です。

『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 #25: Creating Merchant Combos

お題

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

「Input」側のデータはこちら。

「Output」側のデータはこちら。ユーザーごとに訪れた店舗の組み合わせを出力します。

もし「Merchant2」以降の列にNullが含まれる場合は、Nullと店舗の組み合わせ(1つの店舗のみ訪問)も出力しています。

解答の概要

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

  1. Transpose、Joinツールでデータを2つ並べて出力
  2. Uniqueツールで重複するデータを削除
  3. Formula、Filterツールで不要なデータの削除
  4. Selectツールで列名の変更と不要な列の削除

解答の詳細

まずはTransposeツール(Transform -> Transpose)を使用してデータを縦持ちに変換します。 Key Fields には「UserID」「Count」を選択し、Data Fields には「Merchant1」から「Merchant5」列を選択します。

Joinツール(Join -> Join)を使用して同じデータを結合し、縦持ちにしたデータを並べて出力します。出力されるデータのうち「Right_UserID」列は不要なので削除します。

ここまでの処理で、縦持ちにしたデータが2つ並んで出力されるようになりました。

Uniqueツール(Preparation -> Unique)を使用して、「UserID」「Value」「Right_Value」列のデータがユニークなもののみ抽出します。

Formulaツール(Prepatation -> Formula)を使用して、新しく「Flag」列を作成し、不要なデータにフラグを立てます。

式は以下の通り設定しています。

if ToNumber(Right([Name], 1)) >= ToNumber(Right([Right_Name], 1)) and !IsNull([Value]) then "y"
elseif IsNull([Right_Value]) then "y"
else [Right_Value]
endif
  • 「Name」列の番号が「Right_Name」列の番号以上であり「Value」列がNullではない場合に「y」を出力
  • 「Right_Value」列がNullの場合に「y」を出力
  • それ以外の場合に「Right_Value」列を出力

Filterツール(Preparation -> Filter)を使用して、「Flag」列が「y」以外のデータを出力します。

Selectツール(Preparation -> Select)を使用して、「Name」「Right_Name」「Flag」列を削除し、「Value」「Right_Value」列を「Merchant1」「Merchant2」列に変更します。

ワークフローを実行して完成です。

最後に

今回はWeekly ChallengeのChallenge #25: Creating Merchant Combosに挑戦しました。

明日もお楽しみに!

サンプルワークフローのご案内

クラスメソッドでご契約のユーザー様向けに、当ブログでご紹介したワークフローを専用ポータルにて公開しております。当エントリでご紹介したワークフローも公開予定ですので、ご参考にしていただきますと幸いです。

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

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

alteryx_960x400