我有一个用于存储用户登录的事实表
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计数
答案 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中我们可以考虑扩展聚合以支持向量,因此我们可以执行更快的版本。