支持具有多个属性的维度的OLAP数据模型

时间:2016-08-01 18:35:16

标签: database-design data-modeling data-warehouse olap dimension

我需要输入来决定在OLAP系统中使用多个属性建模维度的最佳方法。

考虑超市的例子。

如果有10种颜色和3种尺码的衬衫,我想知道颜色或总销售额的总销售额。我想创建维度表来存储产品信息,并在Sales fact table中使用其代理键。

以下是我的想法:

1)由于不同颜色和尺寸的产品奖品保持不变,我不想为每种组合创建不同的产品ID。

2)我可以创建垃圾维度来存储30种(10种颜色* 3种尺寸)组合,并在销售事实表中引用其代理键和产品维度的代理键。

方法二存在问题:晚餐市场也销售颜色和颜色和尺寸不同的颜色差异的笔。因此,我无法为每个产品创建单独的垃圾维度。此外,我无法创建单个垃圾维度来存储所有属性,如颜色和大小,因为表格的大小很大。

使用OLAP为此类应用程序实现数据模型的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

我会创建两个事实键:prod_variation_1和prod_variation_2,两者都指向相同的d_prod_variation dim。 这些变化可用于某些产品类型的颜色和尺寸,或用于其他产品的风味和包装。

这是d_prod_variation的样子:

在BI工具中,用户需要选择部门以选择变体过滤器。

指定中号蓝色衬衫的事实记录将如下所示: