不同维度类型的相同事实



我在一家制造公司工作,正在使用的事实数据可以是零件(制成品的输入(或制成品(公司随后销售的最终产出(。 我为零件和产品提供了单独的维度表,因为属性不同,它们实际上是 2 个不同的东西。

对于事实数据,所有属性都相同,只是一条记录指向零件,另一条记录指向产品。 单个记录不能同时指向两者。

拥有 2 个单独的事实数据表,或者具有 1 个带有 PartKey 和 ProductKey 的事实数据表,其中一个将始终指向不适用的维度表中的 -1 或未知记录,这是否有意义?

提前感谢您的帮助。

您应该有 2 个事实数据表。

由于部件和产品是不同的对象,因此事实数据表中的键集并不相同。从形式上讲,它们有不同的颗粒。

例如,假设您的维度是日期、工厂、供应商、零件、产品、客户。那么事实"输入"颗粒可能是:

  • 日期
  • 植物
  • 供应商
  • 部分

而事实输出粒度可能是:

  • 日期
  • 植物
  • 产品
  • 客户

这些事实数据表具有 2 个共享维度(日期和工厂(和 2 个唯一维度(供应商与客户、部件与产品(。这证实了它们的粒度是不同的,不应该将它们强加到一个表中 - 表粒度的一致性是维度建模的关键要求。

您将能够跨共享维度一起分析零件和产品,并单独对每个零件和产品进行更专业的分析。随着时间的推移,您将可以灵活地添加更多共享和独特的维度,而无需诉诸诡计。

最新更新