问题描述
我正在数据仓库中构建一个用于报告的经典星型模式。
我的衡量标准是每个电话号码每月的数据量 (MB)。
我的维度是时间、产品、客户和供应商。
我的问题是有些客户在某个月内为每个电话号码购买了不止一件产品。
关于如何在经典星型模式中实现这一点的任何想法?
将这些列添加到我的事实表中?
- PRODUCT_1_FK
- PRODUCT_2_FK
- PRODUCT_3_FK
问候,
基督徒
解决方法
如果您的度量是“每个电话号码每月的数据 (MB)”,那么您不能将产品作为维度包含在内,因为这会改变度量的粒度。
如果您希望度量的粒度为“每个电话号码每个产品的数据(MB)”,那么您需要将 Product 添加到您的事实中,并且每个产品将有 1 个事实记录
,让我们想象一下这个场景:
- ID=101 的客户通过电话购买了 ID=100 的产品 2021 年 1 月 25 日
- ID=101 的同一个客户购买了另一个 ID=120 的产品 电话,2021 年 1 月 28 日
在您的事实表中会怎样?
CustomerSK ProductSK SupplierSK TimeSK
101 100 122 25-01-2021 09:00:30
101 120 189 28-01-2021 16:08:11