0

下面的问题实际上是从另一篇文章中复制的,并要求 Tableau 的答案,但我想使用 SQL 来防止性能问题。

我正在尝试计算跨日期和过去 14 天的用户保留率。例如,如果 44 位用户在 9 月 16 日首次到达,然后其中 19 位在 9 月 17 日再次出现,那么我们在 9 月 16 日的用户的第一天留存率为 19/44。如果 41 位用户在 9 月 17 日首次出现,其中 24 位在 9 月 18 日再次出现,那么 9 月 17 日的 1 天留存率将是 24/41。如果 9 月 18 日有 18 位用户在 9 月 16 日首次到达,那么他们的 2 天留存率为 18/44。

我想要的最终结果如下所示。我试图弄清楚如何按日期计算队列日的留存率。此外,表 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  |        |             |               |              |

表登录

最终结果

4

0 回答 0