背景:零售,交易,促销。好的,让我们看看一些数据,你会明白的。
receipt_no和line_no定义了交易中的订单项(receipt_no)。您可以看到有两个促销应用于此项目(a,b)。总折扣(-3.54 - 1.19)等于原始值 - 销售额(12 - 7.27)。所以促销(7.27)是应用所有促销后的最终价值。
现在我需要在SSAS中构建它作为一个事实。业务键将是receipt_no,line_no,promotion_name。相关的维度将是促销。这只是为了说明目的,实际情况要复杂得多。
所以问题是如果通过promotion_name切片事实,没问题。如果只看到total而没有使用promotion_name进行切片,则此项目的销售额将加倍,这是不正确的。
那么你在这种情况下通常/最佳实践如何?
答案 0 :(得分:0)
据我所知,一个干净的模型将有两个事实表:
fact_sales
将receipt_no
和line_no
组合作为主键,将Sales,Units和OriginalValue组合为度量,fact_promotion
,其中receipt_no
,line_no
和promotion_name
为主键,折扣为衡量标准。您可能会省略Sales和OriginalValue中的一个,因为其中每个都可以从另一个计算,并且可以计算同一receipt_no
和line_no
的汇总折扣。但这已经开始讨论优化。