我有一个Employee维度,我使用SCD和Surrogate键来跟踪随着时间的变化。带有代理键本身的维度(数据仓库)
员工的业务系统的关键:雇员
员工代理键:EmployeeSCDKey
我想有随时间跟踪管理信息也是如此。管理者是员工和其他人一样,因此,我想在我的员工层面有像这样一个ManagerSCDKey柱:
例子:
这是我面临的问题虽然。箭头显示从一个变换到下一个变换的边界。如果管理器更改了作业(或其他类型2 SCD字段)并为其创建了新的代理键,则直到下一次转换维时才会识别该更改。
由此我的意思是红色的行不会出现,直到第二次转换,所以与此时与Joe相关的任何事实行都会过时管理器信息。
我猜它归结为:
有没有一种方法,使这种模式的工作原理? (尺寸有自己的钥匙?)
或者是否有更好的实践方式来完成相同的任务?我宁愿不维护与员工维度非常相似的经理维度,但如果这是最佳做法,那就这样做吧。
最佳做法是为经理提供另一个维度。在同一维度维护2个SCDKeys会很麻烦。请参阅以下链接中的另一种方法:http://blogs.adatis.co.uk/simonwhiteley/post/Slowly-Changing-Parent-Child-Dimensions-Part-1-The-Theory – MayowaO