Challenge #62: Find the Duplicate Clicks ~連続したクリックの抽出~ – Alteryx Weekly Challenge

2018.12.18

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

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

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

『Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018』では、Alteryx Communityで公開されているWeekly ChallengeのIntermediate Levelにひたすら1人で挑戦していきます。

今回は連続したクリックの抽出に挑戦します。

動作環境

当エントリの執筆には、以下の環境を利用しています。

  • Windows 10 Pro
  • Alteryx Designer 2018.4.4.54346 英語版

Challenge #62: Find the Duplicate Clicks

お題

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

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

「Output」側のデータはこちら。同じユーザー(IDFA)とデバイスで、前回のクリックから30秒以内にクリックがあった場合に連続したクリックとして判断し、「DuplicateClick」列に印を入れています。

解答の詳細

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

日付の表記形式の変換

DateTimeツール(Parse -> DateTime)を使用して、「EventFireDate」列をDateTime型に変換します。Select the format that matches the incoming string field には MM/dd/yyyy hh:mm:ssを選択しています。

秒差の出力

Multi-Row Formulaツール(Preparation -> Multi-Row Formula)を使用して、新しく「Diff」列をInt32型で作成し、時間差を秒単位で出力します。同じデバイスとユーザーで秒差を出力するため、「DeviceID」「IDFA」列でグループ化しています。

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

DateTimeDiff([DateTime_Out], [Row-1:DateTime_Out], "seconds")

30秒以内のクリックの判定

Formulaツール(Preparation -> Formula)で、「DuplicateClick」列をInt32型で作成し、秒差が30秒以内のものに印をつけます。

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

if [Diff] <= 30 then 1 
else 0 
endif

「Diff」列の秒差が30秒以内の場合に「1」を、それ以外の場合には「0」を出力します。

不要な列の削除

Selectツール(Preparation -> Select)を使用して、不要な列を削除します。

結果の確認

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

最後に

今回はWeekly ChallengeのChallenge #62: Find the Duplicate Clicksに挑戦しました。

明日もお楽しみに!

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

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

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

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

alteryx_960x400