我有一个跟踪公司角色的星型架构,例如该角色所属的部门、分配给该角色的员工、他们何时开始、何时/是否完成并离开。
我有两个时间维度,StartedDate 和 EndDate。当角色处于事件状态时,结束日期在源系统中为空。在星型架构中,我将任何空结束日期设置为 31/12/2099,这是我手动添加的维度成员。
我正在研究更新角色完成或员工离职时的结束日期的最佳方法。
现在我:
正常填充事实表,对所有维度进行查找。
然后,我对事实表进行查找以查找重复项,但在此查找中不包括 EndDate。不匹配的行是新的,因此插入到事实表中。
匹配行然后进入条件分割以检查 currentEndDate 是否与 newEnd Date 不同。如果不同,它们将被插入到 updateStaging 表中,并运行 proc 来更新事实表
是否有更有效或更简洁的方法来做到这一点?
最佳答案
将所有内容放入 foreach 容器中怎么样,它会迭代并且效率更高。
关于ssis - 迟到的事实 - 处理它的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35367590/