MDX如何统计昨天访问过的用户今天访问

时间:2014-07-27 16:05:11

标签: mysql count mdx retention

我有一个用于存储用户登录的事实表

date_key   | user_key
20140701   |     1
20140701   |     2
20140701   |     3
20140701   |     4
20140702   |     1
20140702   |     2
20140702   |     3
20140702   |     8
20140703   |     1
20140703   |     4
20140703   |     8
20140703   |     9

我想制作一个MDX来统计一天访问过的访问者,有几天会有多少人回访 EX:

Date     DAU  Next1  Next 2
20140701 4    3      2
20140702 4    2      -
20140703 4    -      - 

如何使MDX计数

1 个答案:

答案 0 :(得分:1)

回来,对不起。有趣我上周五正在讨论DAU概念。没有直接的方法来计算这个,所以我们需要做一些MDX计算的测量。

我没有看到迭代所有用户的另一种方式,例如:

 MEMBER [Next1] AS SUM( [Users].[Users Level], 
                       IIF( isEmpty( [Measures].[MyEmpty] ), 
                            0, 
                            IIF( isEmpty( ([Time].currentmember.next,[Measures].[MyEmpty]) ), 
                              0,
                              1
                            )
                       )

 [Time].currentmember.next -> move to next day (assumes currentmember is day)

对于每个用户,我们都会检查用户今天是否连接过,如果是这样的话,我们会在第二天检查这个用户。

空的应该是一个快速检查用户是否在某一天在那里的措施。在这种情况下,不确定SSAS上的独特计数是如何工作的(在icCube中我们不在乎)。遗憾的是,icCube中我们可以考虑扩展聚合以支持向量,因此我们可以执行更快的版本。