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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何处理SCD 2类维和重复维记录?相关的知识,希望对你有一定的参考价值。

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

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

Customer Dimension snapshot pic.

答案

替代键当然应该用作主键,但是,这里不能解决主要问题。您的business key(以前是customerID)也必须唯一,以便在构建事实表时分配正确的代理键,否则,如果仅使用customerID,则将创建重复项。查看您提供的业务密钥的数据样本必须由customerID和Region组成。虽然,我必须指出,您的模型看起来有些奇怪,因为客户应始终为其分配唯一的ID,并且if情况是,客户可以在不同地区设有办事处,因此更合适的模型将在事实上附加一个位置维度,该维度将告诉您给定事实所涉及的确切区域(或城市或国家等)。

以上是关于如何处理SCD 2类维和重复维记录?的主要内容,如果未能解决你的问题,请参考以下文章

如何处理重复hosts?

Mysql如何处理重复数据?让你的效率更高效

Android - 如何处理 1000 条记录 SQLite [重复]

如何处理2个几乎相同的构造函数[重复]

如何处理 ArgumentOutOfRangeException [重复]

如何处理 Postgresql 查询中的单引号 [重复]