【问题标题】:MDX how to count visited users in yesterday exist visit todayMDX如何统计昨天访问的用户存在今天的访问
【发布时间】:2014-07-27 16:05:11
【问题描述】:

我有一个事实表来存储用户登录信息

日期键 |用户密钥 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 来计算一天访问的访问者,接下来几天有多少人返回 例如:

日期 DAU 下一个 1 下一个 2 20140701 4 3 2 20140702 4 2 - 20140703 4 - -

如何让 MDX 计数

【问题讨论】:

  • 你有没有尝试过?
  • 您有多少用户:数千.. 百万?
  • @MrAlias 我试过了:使用成员度量。[R Next] AS Count(Exists([User].Members, ([User].Members * Date.CurrentMember.Lag(-1)))但是重载,无法显示
  • @ic3 我有将近 600.000 个用户,DAU 6.000
  • DAU是什么意思?

标签: mysql count mdx retention


【解决方案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 中,我们可以考虑将聚合扩展到支持向量,因此我们可以执行更快的版本。

【讨论】:

  • 谢谢。它有效,但我的数据很难加载。这是我的 MDX:成员 [Measures].[Next1] as 'Sum(Descendants([Users], [Users].[ID]), IIf(IsEmpty([Measures].[UU]), 0, IIf(IsEmpty (([Date].[Date].CurrentMember.Lag((- 1)), [Measures].[UU])), 0, 1)))'
  • 我无法在性能方面为您提供帮助,也许可以再问一个问题,并且对您的 MDX 服务器有更多经验的人可能会有所帮助(您没有告诉您使用的是哪一个)。我可以帮助你处理 icCube ;-)。不确定后代是个好主意,如果你得到 600k
猜你喜欢
  • 1970-01-01
  • 2021-10-29
  • 2020-05-18
  • 1970-01-01
  • 2016-05-28
  • 2021-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多