问题描述
我有一个零售系统,想使用 ralph kimball 的 Dimensional Modeling 创建一个数据仓库。
我有一个简单的 order fact table
来测量 order quantity
和 order dollar amount
。从我在书中和互联网上读到的内容来看,order number
是一个位于事实表上的退化维度。
然后 order fact table
有一个 status
,最初我认为它是一个流,所以我想到了累积快照事实表。一切都很好,直到我意识到 status
实际上不是流,它是一个标签,因此订单可以将状态从“a”更改为“b”,然后再次更改为“a”。我的情况更糟,因为 order fact table
现在有 3 种需要跟踪其更改的状态。所以我认为累积快照事实表在这里不起作用。
我尝试创建 4 个事实表,order
order status a
order status b
order status c
。
每个新订单在 order
表中创建一行,并在每个 order status
中创建一行初始状态。然后通过在 order status
中创建一个新行来完成对状态的每次更改。
由于 order status
表与 order
表相关,因此我需要这 3 个 order status
表来引用 order
表。怎么做?使用相同的 order number
(退化维度)就足够了吗?我认为一致维度也可以解决这个问题,但是这些维度行会增长到与order
表一样多。对此有什么想法吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)