/*Google AdSense自動広告*/

2019年7月5日金曜日

Alteryxでビッグデータの日時比較をするTips

Alteryxとは?https://www.alteryx.com/ja

Alteryxでユーザー購買記録、位置情報などのビッグデータを扱う際、先週と同じ曜日との比較のように、日時でデータ処理することが多いかと思います。今回はその際のコツを紹介します。


  • ビックデータを収集するクエリの回数は最小限にする


例えばある処理では1週間前、別では5日の平均と比較する場合は、1週間のビッグデータを一度に取得した方が高速に動作します。データベースへのアクセスよりも、Alteryx内の処理の方が何十倍も高速です。


  • 日時の範囲を指定→ダミーテーブルとクエリ置換


前日までの1週間のデータが欲しい場合、クエリ内のWhere betweenで指定しますが(全て取得してAlteryxのFilterで絞るのはNG、データ量によってはデータベース側、Alteryx側共に高負荷となる為)、データベースの種類によって日時の処理方法が異なる為、関数を調べて記述するのが手間となります。

そこで、Text Inputで作成した仮テーブルにて、Alteryxで日時を処理し、クエリ内の文字列を書き換えることにします(これ以上にスッキリしたやり方が見つからなかったので…)。



Formulaツールで7日前を設定する例
DateTimeAdd(DateTimeToday(),-7,"Days")

ODBCクエリ
~ Where date_id between  'DATE_START' and 'DATE_END'  

クエリのオプションで、DATE_STARTとDATE_ENDをそれぞれ書き換えます。



  • 当日と前週の平均を比較する

日付でフィルターをかけ、TrueとFalseで分けたものをSummarizeし、キーとなる値でJOINすると、スッキリ処理できます。このように、FilterツールにTrueとFalse両方の足があることがAlteryxのポイントです。JoinツールにもJoined, Left, Rightの足があるので、結合できない場合の処理も可視化できます。

例)前日とそれ以外のビッグデータに分け、前日を条件処理、それ以外を平均して結合。この後に、比較したり、結果を出力したり…

0 件のコメント:

コメントを投稿