如何从源数据中的两个单独的层次结构构建维度

时间:2010-11-23 13:19:53

标签: database-design business-intelligence

我正在尝试为组织创建一个维度(称为 DimOrganisation ),但我不确定要使用什么作为密钥。

以下是组织表的图表......

alt text

企业是最高的父表。与Stock相关的所有数据都由LocationID存储(这称为Stock层次结构),所有与销售相关的数据都由RevenueCentreID存储(这称为Revenue Hierarchy)。目前,立方体只需要通过ProfitCentreID显示数据(我们会在加载多维数据集之前在视图中按ProfitCentreID对维度进行分组)。

以下是我一直在考虑的一些解决方案:

  1. 创建复合键(RevenueCentreLocationKey)。您永远不会希望看到这样的数据,但我会在构建多维数据集时将事实表链接到正确的键(例如ProfitCentreKey)
  2. 只追溯到ProfitCentreID,因为这就是我们所需要的。源数据存储在数据仓库中(与事实和维度表一起),因此我们可以在以后获取更精细的数据。
  3. 在数据库中创建单独的RevenueCentre和Location维度。但是,在多维数据集中,您只能看到ProfitCentreKey
  4. 的维度

    我知道这是非常主观的,但我希望您认为可能有所帮助的任何建议或想法。感谢。

    我正在使用SQL Server 2008(数据仓库数据库和Analysis Services多维数据集)

1 个答案:

答案 0 :(得分:0)

我会选择解决方案3.

虽然贵公司现在没有按位置查看RevenueCentres。具备这种能力可能在将来证明是有用的。

您的CostCentres和RevenueCentres是真实实体,还是仅仅是帮助记账的逻辑机制?

每个RevenueCentre都有一个CostCentre吗?