我正在设计一个包含呼叫和电话数据的数据仓库。在我的事实表(事实调用)中,我有多个CallStart, CallEnd, CallAnswered, CallRecordSaved
字段,例如year, month, day, hour, minute, second
等...(所有这些字段都有DATETIME
)
我的问题是我应该将这些字段保存为y = builder.build()
数据类型,还是应该将它们引用到另一个表格(日期/时间维度),同时考虑到我计划生成一个多维数据集DW并计划计算其中一些DateTime值之间的时差。
你怎么看?
答案 0 :(得分:1)
我喜欢之前的评论并同意您只需要在一个字段中执行完整维度 - callStart。但是你在看什么电话?平均每分钟1次,每分钟10次等。你的峰值有多高?如果通话率变化平稳,那么您可以增加时间粒度。您是否需要同一维度的日期和时间。你有时间桶和日期作为单独的尺寸。与持续时间相似。将其保持为持续时间和桶值。您已经有来自通话开始的日期。 的修改 回到这个问题。我会为每个存储日期时间,但我只会将开头链接到维度。其余的可以显示但不能导航
答案 1 :(得分:0)
我过去所做的是最重要日期的日期/时间维度,然后有另一个维度(例如," Call"在您的情况下)哪些商店在一个地方可能有用的整个日期。此维度不必包含日期表的所有列,通常只有这些额外属性的日期/时间字段。
这为您提供了两个世界中最好的一些,虽然它可能不适合所有情况 - 它确实具有能够将这些维度字段作为视图中的日期/时间表的键回到事实中的优点如果事实证明是必要的,那么它在这方面是向前兼容的。