Mik*_*tes 4 olap data-warehouse star-schema olap-cube
我是数据仓库的新手,我希望这是一个关于构建星型模式的简单问题:
如果我有一个事实表,其中事实记录自然地与单个维度具有一对多关系,那么如何建模星型模式来支持这一点?例如:
情况是我希望单个销售点条目与多个不同的促销相关联.这些促销活动不能是他们自己的维度,因为有很多促销活动.
我该怎么做呢?
对于真正具有"多值"维度的情况,桥表通常是Kimball推荐的解决方案.
您的"促销"维度只是每个促销的记录,包括其属性(开始日期,结束日期,优惠券代码,POS促销代码,广告名称等).从促销到产品的关系不在这里建模,因为它将反映在事实表中.
促销/折扣尺寸看起来像(每个独特的计划促销1排)
Promotion Dim ID
Promo Code
Coupon Code
Promo Start DTTM
Promo End DTTM
... etc ...
Run Code Online (Sandbox Code Playgroud)
您的销售事实如下:
Tran Date
Tran Line #
Customer Dim ID
Product Dim ID
Promotion Group Dim ID
Net Sale Price
Average Cost
Discount Amount
Run Code Online (Sandbox Code Playgroud)
您的"促销组"桥接表将是一组组合:
Promotion Group Dim ID
Promotion Dim ID
Run Code Online (Sandbox Code Playgroud)
如果发生了3次促销活动,您只需创建与每个促销相关的组ID,然后将组ID放在事实表上.它与医疗报告系统处理多种诊断的方式非常相似.
请注意,通过使用Bridge表,您可以轻松地重复计算销售额,因此我建议使用此方法的报表由了解模型的人员开发.