以下の質問は実際には他の投稿からコピーされ、Tableau の回答を求めていますが、パフォーマンスの問題を防ぐために SQL を使用したいと考えています。
複数の日付および過去 14 日間のユーザー維持率を計算しようとしています。たとえば、44 人のユーザーが 9 月 16 日に初めて到着し、そのうちの 19 人が 9 月 17 日に再び現れた場合、それらの 9 月 16 日のユーザーの 1 日目のリテンションは 19/44 です。そして、41 人のユーザーが 9 月 17 日に初めて表示され、そのうち 24 人が 9 月 18 日に再び戻ってきた場合、9 月 17 日の 1 日のリテンションは 24/41 になります。また、9 月 16 日に初めて到着した 18 人のユーザーが 9 月 18 日に戻ってきた場合、2 日間の保持率は 18/44 になります。
私が望む最終的な結果は以下のとおりです。Cohort Day のリテンションを日付別に計算する方法を見つけようとしています。さらに、テーブル login には、TimeStamp、userid、gamelabel、および play_time の列が含まれています。
ログインテーブル
TimeStamp | Userid | GameLabel | playtime |
-----------------------+-----------+------------+-----------
2016-09-16 21:00:24+8 | af07 | LL | 60010 |
2016-09-16 21:00:25+8 | 9dbe | YY | 60016 |
2016-09-16 21:01:24+8 | af07 | SS | 60009 |
私が望む最終結果
Retention| Today | Today- 1 Day|Today- 2 Day...|Today-12 Day |Today-13 Day
---------+--------+-------------+---------------+------------------+--------
|09/29/16| 09/28/16 | 09/27/16...| 09/17/16 | 09/16/16
0 | | | | 41/41| 44/44
1 | | | | 24/41| 19/44
2 | | | | | 18/44
3 | | | | |
7 | | | | |