我有一个员工维度,我使用 SCD 和代理键来跟踪随时间的变化。
员工业务系统密钥:EmployeeID
员工代理键:EmployeeSCDKey
我也希望随着时间的推移跟踪经理信息。经理和其他人一样是员工,因此,我正在考虑在我的 Employee 维度中有一个 ManagerSCDKey 列,如下所示:
例子:
这是我面临的问题。箭头显示了从一个变换到下一个变换的边界。如果经理更改了工作(或某些其他类型 2 SCD 字段)并为他们创建了新的代理键,则直到下次转换维度时才能识别该更改。
我的意思是红色的行直到第二次转换才会出现,因此这次与 Joe 关联的任何事实行都将包含过时的经理信息。
我想归结为:
有没有办法使这种模式起作用?(带有钥匙的维度?)
还是有更好的实践方法来完成相同的任务?我宁愿不维护与员工维度极其相似的经理维度,但如果这是最佳实践,那就这样吧。