事实表和谷物 - 重复测量?

问题描述 投票:0回答:2

假设我有如下所示的表格。我正在尝试创建正确的事实表。

如果我将两个表合并为一个事实表,我将重复销售度量,因为每次销售至少包含两项对整体销售有贡献的项目(管理费、清洁等 - 项目的数量可能会有所不同)。因此,对于汽车 1,总销量为 5000 + 50 + 100。我也不能简单地汇总,因为需要逐项列出。

我是否需要创建两个事实表,或者我是否需要以完全不同的方式处理这个问题?我很想以 1:n 的方式将汽车销售表链接到收费表。

你有什么建议吗?

汽车销售表

car_id 促销 货币
1 5000 美元
2 7000 美元

收费表

charge_id 类型 数量 货币 car_id
14 管理费 50 美元 1
15 清洁 100 美元 1
22 停车 10 美元 2
25 清洁 70 美元 2
data-warehouse dimensional-modeling fact-table
2个回答
0
投票

如果您正在创建一个 Fact_Sales_Table,您应该对数据进行非规范化并合并。数据建模有些主观并基于需求。

如果您想要一个销售事实表,也许可以考虑一个描述分项销售的销售类型维度。因此,在您的主要事实表中,您实际上只会包括每笔整体汽车交易中每个订单项的销售额。

除非需要不同的粒度或要求两个不同的事实表,否则两个事实表似乎是不必要的?


0
投票

非规范化措施(此处

sale
)是一个非常糟糕的主意(如您所述),这将导致总和计算失败。

但是你不需要以这种方式combin你的两个事实表。

如果您的主要目标是计算每辆车的摘要,只需添加一个新的

charge_id
(比如100 - 带有
type = sale
)并将数据添加到第二个表中。不需要第一张桌子。

总成本计算将是每个

amount
car_id
的简单聚合。

您需要添加一些其他属性作为预订和有效期时间戳。

© www.soinside.com 2019 - 2024. All rights reserved.