0

我正在尝试为 Mondrian 服务器创建我的第一个 olap 多维数据集模式。我想出创建一个视图作为事实表,其中包含多个连接以将外键放入其中,假设它看起来像这样:

SELECT call.id, record.user, topic.id, session.id, user.id, session.end, session.start FROM calls call
  LEFT JOIN call_records record ON (record.call_id = call.id)
  LEFT JOIN topis topic ON (topic.id = record.topic_id)
  LEFT JOIN login_sessions session ON (record.session_id = session.id)
  LEFT JOIN users user ON (session.user_id = user.id)

我还创建了一个名为Users,的维度Topics(还有一些,但我试图保持简单),一切正常,我检索了我需要的所有信息,除了主题或每个用户的工作时间摘要。

我不能只求和session.end - session.start,因为会话表已加入并且同一个会话多次发生。

另外,我不认为我正在按照我应该做的方式做这件事。

你能帮我以正确的方式做吗?谢谢

4

1 回答 1

1

在标准化数据集上创建 OLAP 模型通常是不好的做法。您应该阅读有关 OLAP 系统的非规范化模型以及如何利用 ETL / ELT 技术来创建这些模型。

有很多文献可以帮助你。我建议熟悉 OLAP 'star' 模式和 ETL 工具。

于 2013-08-12T14:57:09.820 回答