我正在创建一个数据仓库来存储用户会话数据。我当前的星型模式如下所示:
session_fact
date_dimension
time_of_day_dimension
会话事实将使用会话的开始时间链接到日期维度的日期和时间。
问题: 我想创建一个MDX查询,返回一天中每小时的“活动”会话。 例如。有一天我们可以参加这些会议:
session id |start time |duration
session 1 |10am |1hr
session 2 |10am |2hr
我想以这种形式检索数据:
time of day |active session count
10am |2
11am |1
有什么想法吗?我非常乐意根据建议对模式进行重组,我只是不知道该怎么做。
感谢您阅读本文。
Pat
答案 0 :(得分:0)
如果您拥有必要的硬件资源(磁盘空间),则可以通过创建定期快照事实表轻松解决问题。谷物将按小时计算,因此您将获得每小时活跃的会话记录。这将极大地简化查询以按小时拉动活动会话...
SELECT
[Measures].[Active Session Count] ON 0,
(
[Date].[Date].[Date].Members *
[Time].[Hour].[Hour].Members
) ON 1
FROM
[Cube]