维度建模:多个事实表中的相同退化维度或使用一致维度

问题描述

我有一个零售系统,想使用 ralph kimball 的 Dimensional Modeling 创建一个数据仓库。

我有一个简单的 order fact table 来测量 order quantityorder 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 (将#修改为@)