我的 ETL 有问题。我有一个维度表,其中包含一些 SCD 1 和 SCD 2 列 - 我已在 SCD 转换中分别正确映射这些Changing Attribute
列Historical Attribute
。
然后在“历史属性选项”页面上,我检查了Use start and end dates to identify current and expired records
,将我的 ValidFrom 列输入为 ,Start date column
并将我的 ValidTo 列输入为End date column
。
据我了解,这应该意味着任何插入的记录都会被赋予当前日期时间值的 ValidFrom ,并且它们的 ValidTo 列保持不变NULL
。对于那些已经存在但已经过时的记录,他们的 ValidTo 成为当前的日期时间值。
但是,在某些但不是所有导入的记录上 - 插入的最新记录在 ValidFrom 和 ValidTo 记录中以完全相同的日期时间插入。这成为一个巨大的痛苦,因为我不得不在我的查询中将该记录视为无效,以及对事实表加载的连锁反应。
任何人都可以帮助解释为什么会这样吗?