如何处理SCD 2类维和重复维记录?

我最近为OLAP报告实现了SCD类型2-客户维度。我们以前曾经在Type 1上使用过,其中customerID是构建维度的关键,但是由于此维度将获得重复的记录,例如C_001有两个记录,我认为使用相同的CustomerID作为键来构建维度是不切实际的。我应该将代理作为主键,并使用“ CustomerID”作为属性吗?

这是SCD Type 2尺寸的最佳做法吗?

Customer Dimension snapshot pic.

wuliangshow 回答:如何处理SCD 2类维和重复维记录?

代理键当然应该用作主键,但是这不能解决这里的主要问题。

业务密钥(以前是客户ID)也必须唯一,以便在构建事实表时分配正确的代理密钥,否则,如果仅使用客户ID,则会创建重复项。

查看您提供的业务密钥的数据样本必须由customerID和Region组成。

虽然,我必须指出,您的模型看起来有些奇怪,因为客户应始终为其分配唯一的ID,并且如果情况是客户可以在不同地区设有办事处,更合适的模型将在事实上附加一个位置维度,该维度将告诉您给定事实所涉及的确切区域(或城市,国家等)。

本文链接:https://www.f2er.com/3151439.html

大家都在问