1

我不是经验丰富的 BI 开发人员,所以我需要帮助来填充我的事实表。首先,我使用适当的 SSIS 组件从生产数据库(我没有使用暂存数据库或表)中填充了所有维度。

DimParentDimStudentDimManagerDimFacilitator使用自然键作为主键。其余维度使用代理键作为主键。使用自然键的原因是因为我的生产(OLTP)数据库在多个不同的模式(充当我的不同校园位置)上具有相同的数据库模型。 DW 图

我的可测量数据仍在我的生产数据库中,我似乎无法弄清楚如何填充我的事实表。 生产 OLTP

我正在考虑使用带有连接的大型查询,但对于我使用查询填充DimAssessmentType的方式可能会变得太复杂:

select PK_Assessment, [Description] 
from Auckland_Park.Assessment 
union 
select 3, 'International'
4

1 回答 1

4

不要前后矛盾。对所有事情都使用代理键。那么无论发生什么(即一个不遵循此规则的校园上线),您都可以解释它。不一致只是为自己工作。立即进行设计。在您的事实中获得三年数据之后,重新加载维度和事实是一项非常艰巨的工作。

反正。我填充事实的方式是:

  1. 将事实加载到临时表中。
  2. 登台表有额外的列,其中包含您的代理键
  3. 在填充代理键的临时表上运行更新语句
  4. 在你的事实中选择一个合适的窗口。删除并重新加载该窗口

听起来您可能想在 SSIS 中进行“内联查找”而不是查找 SK。这很好,但它确实使故障排除变得困难。此外,SSIS 查找组件不能很好地扩展(即适用于几行,并且对于许多行来说非常慢)。它也不能很好地完成 SCD。

您的陈述“我似乎无法弄清楚……”非常含糊。按照上面的四个步骤,告诉我你不知道哪一个。

一个问题可能是您没有在昏暗中保留源系统键......因此您无法根据源系统键查找新的代理键。

于 2015-10-19T13:15:11.187 回答