问题描述
我有一个名为 sales
的事实,它具有维度 product
和 store
的 FK。这些维度中的每一个都有关于该维度的信息,但我有一些关于特定 product
中的 store
的信息,例如产品在该商店中的位置。
我很想为一个维度建模,其中主键是产品和商店的组合,可以这样做还是存在更好的替代方案?
解决方法
我的想法...
- 为位置设置第 3 维绝对是一个可行的选择。您还可以在此 Dim 中包含商店详细信息(但仍将位置作为其粒度级别)并具有位置 > 商店层次结构
- 您不会找到对具有多列 PK 的维度的引用,因为这会破坏维度建模的基本设计原则之一
- 我对您的源系统正在生成代理键的声明感到困惑/惊讶?鉴于代理键(在这种情况下)完全是数据仓库中的人工制品,源系统似乎不太可能生成它们
,
注意另一个维度 = 更多连接 = 复杂查询。
你可以坚持一个简单的建模:
