如何连接处于 1-N 关系中的事实和维度 table

How to connect a fact and dimension table that are in 1-N relationship

我有一份购买资料Table,其中包含一些度量和维度键。 然后,还有另一个table:折扣Table。 Purchase FactTable 与 Discount Table 是 1-N 关系(对于每次购买,我可能会购买几件打折商品)。 折扣 table 有一些属性(描述、注释)和一些数值(例如:$ 折扣)我想汇总。

桥接 table 与:BridgedKey、DiscountKey、$ 折扣、其他 "measures" .. 可以解决我的问题吗?

p.s。 这个 link 有助于选择桥接 table 但我不确定它是否适用于我的情况(因为我需要从 Discount Table 中汇总一些数字属性) .

谢谢,

根据我的经验,设计有两个事实 tables purchasepruchase_detail

PURCHASE 每次购买一行,属性为

 purchase_id  -- unique ID 
 purchase_date  
 customer_id
 ...

PURCHASE_DETAIL 每次购买有 1:N 行并存储定价详细信息。

 purchase_id -- corresponding purchase
 account_type -- dimension describing sales price and all discount types
 amount
 ....

金额有正确的符号;销售价格为正,折扣为负。

例子

 purchase_id    account_type    amount
 1              sales price     100
 1              discount1       -5
 1              discount2       -1

使用此设计,您可以安全地 COUNT 次购买(在 PURCHASE table 时),SUM 总价格(在 PURCHASE_DETAIL) 并制作各种或详细的折扣报告。