我设计了一个事实表,用于存储特定日期维度和动作类型(如创建,更新或取消)的事实。事实只能创建和取消一次,但会多次更新。
myfact
---------------
date_key
location_key
action_type_key
这将允许我计算所有已完成的更新,为一段时间创建的所有新更新,并通过位置维度指定特定区域。
此外,我每个事实还有2个计数,即人数,建筑物数量。这些之间没有关系。而且我想询问有多少具有特定数量的事实,例如有多少有10个建筑物,有多少有9个等等。
这些最好的桌子设计是什么。基本上我看到以下选项,但我愿意听到更好的解决方案。
将计数作为参考信息添加到事实表中people_count
和building_count
为每个存储有效选项的内容添加维度,即存储people dimension
的{{1}}和存储key
的计数和building dimension
和一个计数。主要事实是key
和people_key
为计数添加一个维度,这些维度用于人员和建筑物计数,即building_key
存储count dimension
和通用计数。主要事实是key
和people_count_key
答案 0 :(得分:0)
首先,您的计数在最纯粹的意义上基本上是“维度”(您可以将维度视为将记录分组以用于报告目的的方式)。但问题是维度建模是否是您想要做的。我认为你最好把它视为一个隐含的维度,而不是添加维度表。这实际上意味着维度表没有添加任何内容,并且他们创建了错误的极端情况,除非您需要跟踪与数字相关的大量信息,否则我认为这些错误并非常有用。
如果是我,我只会将计数添加到事实表中,而不是添加到其他表中。