我不是经验丰富的BI开发人员,所以我需要帮助填充我的事实表。首先,我使用适当的SSIS组件从我的生产数据库(我没有使用临时数据库或表)中填充了我的所有维度。
DimParent , DimStudent , DimManager 和 DimFacilitator 使用自然键作为主键。其余维度使用代理键作为主要维度。使用自然键的原因是因为我在多个不同的模式(作为我不同的校园位置)的生产(OLTP)数据库具有相同的数据库模型。
我的可测量数据仍在我的生产数据库中,我似乎无法弄清楚如何填充我的事实表。
我在考虑使用带有连接的大型查询,但是对于我使用查询填充 DimAssessmentType 的方式可能会过于复杂:
select PK_Assessment, [Description]
from Auckland_Park.Assessment
union
select 3, 'International'
答案 0 :(得分:3)
不要不一致。一切都使用代理键。然后无论发生什么(即校园上线不遵守此规则),您都可以解释它。不一致只是为自己工作。现在做设计。在你掌握了三年的数据之后,重新加载维度和事实是一件很痛苦的工作。
反正。我填充事实的方式是:
听起来你可能想在SSIS中进行“内联查找”而不是找到SK的。这很好,但确实很难排除故障。此外,SSIS查找组件不能很好地扩展(即适用于少数行,并且对于许多行来说非常慢)。它也不能很好地完成SCD。
你的陈述“我似乎无法弄明白......”非常模糊。按照上面的四个步骤告诉我哪一个你无法弄清楚。
一个问题可能是您没有在昏暗中保留源系统密钥......因此您无法根据源系统密钥查找新的代理密钥。