0

我有一个数据仓库,它使用内部代理键和类型 2 缓慢变化的维度。在清算中,我们只有来自 erp 系统的业务密钥,如下所示:

Clearing 的图片,抱歉没有足够的声誉直接发布或超过两个链接

在数据仓库中,我们希望使用代理键(注意:文章价格从 500 美元更改为 1000 美元,并且文章尽可能使用代理键,此处仅适用于制造商)。

数据仓库的图像

如果我们只是使用业务密钥没问题,只需比较、更新旧条目、插入新条目。但是使用代理键的最佳方法是什么?

从清算中的数据仓库获取现有 ID(0 或 -1 表示尚不存在),然后比较条目?

在此处输入图像描述

将业务密钥也保存在数据仓库中,比较它们并更新 Ids 然后在数据仓库中?

i.pictr.com/3kqn6wb9ou.png

4

1 回答 1

0

为了能够在加载表格时进行查找 - 就像在加载文章时引用制造商时一样,您必须将自然/业务密钥存储在 DWH 中。根据我的经验,这总是完成。

但是您应该仅将源实体的业务密钥存储在目标实体中。让我澄清一下,制造商的业务密钥应该只出现在 DWH 的制造商表中,而不是其他地方。当您需要在不同的表中引用制造商时,例如文章,您使用制造商的代理键。

所以,你在第二个屏幕截图中做对了。

然后,当您加载 Article 表时,您需要知道制造商是否针对特定文章进行了更改,您首先根据其业务密钥查找制造商的代理键,并将代理键与 Article 表中的键进行比较。这就是通常的做法。

于 2014-08-30T17:01:26.170 回答