如何连接处于 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,我会出错
总计中的购买次数(膨胀后,每行一行
打折商品)。
- 如果我从这个折扣中创建一个单独的事实
Table,我如何查询这两个 Fact tables(目前他们
不共享任何维度,因此我无法使用 conformed/shared 维度进行钻取)。
- 如果我创建一个退化的维度,我们就会回到第一个场景。
桥接 table 与:BridgedKey、DiscountKey、$ 折扣、其他 "measures" .. 可以解决我的问题吗?
p.s。
这个 link 有助于选择桥接 table 但我不确定它是否适用于我的情况(因为我需要从 Discount Table 中汇总一些数字属性) .
谢谢,
根据我的经验,设计有两个事实 tables purchase
和 pruchase_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)
并制作各种或详细的折扣报告。
我有一份购买资料Table,其中包含一些度量和维度键。 然后,还有另一个table:折扣Table。 Purchase FactTable 与 Discount Table 是 1-N 关系(对于每次购买,我可能会购买几件打折商品)。 折扣 table 有一些属性(描述、注释)和一些数值(例如:$ 折扣)我想汇总。
- 如果我根据此折扣创建维度 Table,我会出错 总计中的购买次数(膨胀后,每行一行 打折商品)。
- 如果我从这个折扣中创建一个单独的事实 Table,我如何查询这两个 Fact tables(目前他们 不共享任何维度,因此我无法使用 conformed/shared 维度进行钻取)。
- 如果我创建一个退化的维度,我们就会回到第一个场景。
桥接 table 与:BridgedKey、DiscountKey、$ 折扣、其他 "measures" .. 可以解决我的问题吗?
p.s。 这个 link 有助于选择桥接 table 但我不确定它是否适用于我的情况(因为我需要从 Discount Table 中汇总一些数字属性) .
谢谢,
根据我的经验,设计有两个事实 tables purchase
和 pruchase_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) 并制作各种或详细的折扣报告。