如何解决如何在餐厅场景中设计星型模式,客户下订单,每个订单包含多种食品
这里我有一个 FACT 表,FACT_Orders,其中包含字段 customer_id、order_id、total_cost、created_date、updated_date。
另外我还有一个 FACT 表 FACT_Order_List 来保存订单中的项目,其中包含 order_list_id、order_id、item_id 字段
我还有维度表 DIM_Item 和 DIM_Customer 来保存 Item 和 Customer 的 arrtibutes
从 FACT 表中,我需要计算最受欢迎的商品和最不受欢迎的商品
这个设计是否有两个 FACT 表并连接 FACT 表进行计算?
解决方法
假设:
一个商品有多个订单,一个订单包含多个商品。
您可以拥有如下事实记录:CustomerId=5 订购了 2 件商品
OrderId OrderListId ItemId CustomerId ItemPrice TotalCost CreatedDate
1 1 12 5 100 350 17-01-2021
1 1 15 5 250 350 17-01-2021
你不加入事实表。通过按公共维度单独汇总每组度量,然后加入这些维度上的汇总集来组合事实。
您的模型可能如下所示:
在事实中重新调整updated_date :
不应更新事实表。事实测量值几乎永远不应该更新有几个很好的理由。 ... 事实表处理:在 SQL Server 数据仓库数据库服务器上对表执行更新可能是一项非常昂贵的操作!事实表可以而且应该非常大。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。