如何填充我的事实 table?

How can I populate my Fact table?

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

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

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

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

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

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

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

  1. 将事实加载到暂存中 table。
  2. 暂存 table 有包含您的代理键的附加列
  3. 运行 用于填充代理键的分期 table 更新语句
  4. 在您的事实中选择一个合适的 window。删除并重新加载 window

听起来您可能想在 SSIS 中执行 "inline lookup" 而不是查找 SK。这很好,但确实很难排除故障。 SSIS 查找组件也不能很好地扩展(即适用于少数行,并且对于许多行来说非常非常慢)。它也不能很好地处理 SCD。

你的说法“我似乎想不通……”非常含糊。按照以上四步走,你猜不出来的告诉我。

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