我是维度数据建模的新手,想知道如何将其应用于看起来不像销售报告的东西。
假设我有一个网络通讯工具。它跟踪用户的设备,浏览器类型和位置。
现在,我的业务部门同事希望能够告诉:
对我来说,我似乎想测量聊天率,事实表应该是什么样?
此外,浏览器和设备是否应以一个或单独的维度运行?我无法想象将建立这样一个表的ETL流程。
似乎每次创建聊天时,我都应该将其添加到chat_facts表中,这对我来说就像是保存一个表,其中包含一些事件,以后我们将通过聚合来计算这些事件。 这是事实表的正确方法吗?
答案 0 :(得分:5)
事实表可以包含事务,事件,余额,快照,流程。甚至有“事实”表。
就您而言,将聊天记录为事件是完全合理的。除了消息数之外,每个聊天记录还可能包含其他事实,例如大小,持续时间,参与者人数等。
“详细信息”没有意义。而是创建暗淡的“设备”和暗淡的“浏览器”。
模型缺少的一件事是昏暗的“日期”,用于与日期相关的分析: calendar table
(我还将在事实表中将“创建的”重命名为更具描述性的名称,例如“创建日期”)