したがって、同じコホートは同じ月に製品を使用し始めたグループの集まりです。私はそれから、現時点までの各月の各コホートの総使用量を追跡します。SQLクエリの行に将来の日付のセットリストを追加する
たとえば、最初の「コホート月」は2012年1月です。その後、3月17日(今月)の1月12日、2月12日、3月12日...となります。 1つはコホート月、もう1つは「使用月」です。このプロセスは、その後のコホート毎に繰り返されます。テーブルは次のようになります。
Jan 12 | Jan 12
Jan 12 | Feb 12
...
Jan 12 | Mar 17
Feb 12 | Feb 12
Feb 12 | Mar 12
...
Feb 12 | Mar 17
...
Feb 17 | Feb 17
Feb 17 | Mar 17
Mar 17 | Mar 17
問題は、既存のコホートと将来のコホートの両方について1年間の予測を行いたいので発生します。 これは、1月12日のコホートでは、4月17日から3月18日までの予測をしたいと思っています。 4月17日から3月18日までの4月17日のコホート(まだ存在しません)の予測もしたいと思います。 3月18日の3月18日のコホートの予測まで。 私は予測を扱うことができますが、それについては心配しないでください。
私の問題は、すべてのコホートが切り替わる前に、「使用月」列にこのリスト(4月17日.. 3月17日)を追加する方法がわかりません。 私はまた、コホートを4月17日から3月18日まで追加し、これらの将来のコホートごとに(4月17日... 3月17日)このリストの該当部分を持たなければなりません。
だから私は、テーブルは次のようになりたい:
Jan 12 | Jan 12
Jan 12 | Feb 12
...
Jan 12 | Mar 17
Jan 12 | Apr 17
..
Jan 12 | Mar 18
Feb 12 | Feb 12
Feb 12 | Mar 12
...
Feb 12 | Mar 17
Feb 12 | Apr 17
...
Feb 12 | Mar 18
...
...
Feb 17 | Feb 17
Feb 17 | Mar 17
...
Feb 17 | Mar 18
Mar 17 | Mar 17
...
Mar 17 | Mar 18
私は心に来た最初のソリューションは、すべてのリストを作成を行うことです知っているが、クロスは自分自身にそれを参加、3月18日に1月12日の日付私が持っている現在のテーブルに外部結合を残しました(コホート/月は1月12日から3月17日の範囲です)。しかし、これはスケーラブルではありません。
翌年のこの月のリストに反復的に追加できる方法はありますか?絶対に必要な場合、私はHPのVerticaを使用しています
は、プレストまたはハイブを使用することができ