繁体   English   中英

如何填充事实表?

[英]How can I populate my Fact table?

我不是经验丰富的BI开发人员,因此我需要在填充事实表方面的帮助。 首先,我已经使用适当的SSIS组件从生产数据库(未使用暂存数据库或表)中填充了所有我的尺寸。

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

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

我当时想使用带有联接的大型查询,但是对于使用查询填充DimAssessmentType的方式,它可能变得太复杂了:

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

不要前后矛盾。 对所有内容使用代理键。 然后,无论发生什么情况(即不符合此规则的校园上线),您都可以考虑。 前后矛盾只是为自己工作。 立即进行设计。 在获得了事实的三年数据之后,重新加载维度和事实真是一件令人头疼的工作。

无论如何。 我填充事实的方式是:

  1. 将事实加载到登台表中。
  2. 登台表还有其他列,其中包含您的代理键
  3. 在登台表上运行一个更新语句,该语句会填充代理键
  4. 根据实际情况选择合适的窗口。 删除并重新加载该窗口

听起来您可能想在SSIS中进行“内联查找”而不是查找SK。 很好,但是确实很难排除故障。 另外,SSIS查找组件的伸缩性不好(即,仅适用于几行,而对于许多行来说则非常慢)。 同样,它也不能很好地完成SCD。

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

一个问题可能是您没有在昏暗的地方保留源系统密钥...,因此您无法基于源系统密钥查找新的代理密钥。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM