当标题具有无法分配给详细信息的值时,如何对标题详细信息要求进行建模?

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

我有一个标题-详细信息类型的需求。

例如:

我的维度是产品、客户、日期表

我的事实表是FactOrders(列:订单号、产品ID、客户ID、日期、商品数量、总金额、包装成本)。

这是一个星型模式。

有一个新的要求,即添加/显示订单行项目的数据,并进行钻取,以便当用户单击订单时,他们应该能够钻取到显示订单行的新页面。

现在我正在从数据建模的角度思考这个需求。由于存在 pkg 成本,摆脱 FactOrders,仅使用 FactOrderLines 看起来并不是一个解决方案,因为这是一个订单级别值,无法分配到订单行。

我想到了 2 个解决方案:

  1. 创建 FactOrderLines 并将其连接到 FactOrders。但这会使模型变成雪花。

  2. 另一个选项是创建一个具有不同订单号的新维度,并将其视为维度表,然后创建 FactOrderLines。然后,将此暗淡表连接到 FactOrderLines 和 FactOrders。因此,我通过在 FactOrders 和 FactOrderLines 之间没有关系来保留星型模式,但我可以在 OrderNum 中实现钻取行为。

针对此类需求,推荐的模式是什么?

powerbi dimensional-modeling star-schema
1个回答
0
投票

根据意大利人的说法,将标头合并到现有的事实表中并仅保留一个事实表是正确的方法。

https://www.sqlbi.com/articles/header-detail-vs-star-schema-models-in-tabular-and-power-bi/

关于pkg成本分摊,不分摊。只要确保当您对其进行计算时,您是在标题级别进行的(不同计数等)。

另外:https://www.youtube.com/watch?v=R8SaJ__UMHI

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