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

OLAP Data model to Support Dimension with Multiple Attributes

我需要输入来决定在 OLAP 系统中对具有多个属性的维度进行建模的最佳方法。

考虑超市的例子。

如果一件衬衫有 10 种颜色和 3 种尺码可供选择,我想知道按颜色分类的总销售额或按尺码分类的总销售额。我想创建维度 table 来存储产品信息并在销售事实 table.

中使用其代理键

以下是我的想法:

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

2) 我可以创建 Junk Dimension 来存储 30(10 种颜色 * 3 种尺寸)组合,并在 Sales fact table.

中引用其代理键以及产品维度的代理键

方法二有问题:超市也卖笔,颜色不一样,鞋子不一样,颜色不一样,尺码不一样。因此,我无法为每个产品创建单独的垃圾维度。此外,我无法创建单个垃圾维度来存储颜色和大小等所有属性,因为 table 的大小会很大。

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

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

下面是 d_prod_variation 的样子:

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

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