【发布时间】:2016-05-23 21:31:57
【问题描述】:
我有一个星型模式来跟踪公司中的角色,例如该角色属于哪个部门,分配给该角色的员工,何时开始,何时/是否完成并离开。
我有两个时间维度,StartedDate 和 EndDate。当角色处于活动状态时,源系统中的结束日期为空。在星型模式中,我将任何空结束日期设置为 31/12/2099,这是我手动添加的维度成员。
我正在研究更新角色结束或员工离职时的 Enddate 的最佳方式。
现在我:
正常填充事实表,在所有维度上进行查找。
然后我对事实表进行查找以查找重复项,但在此查找中不包括 EndDate。不匹配的行是新的,因此插入到事实表中。
匹配的行然后进入条件拆分以检查 currentEndDate 是否与 newEnd Date 不同。如果不同,则将它们插入到 updateStaging 表中并运行 proc 以更新事实表
有没有更有效或更整洁的方法来做到这一点?
【问题讨论】:
-
你说“两个时间维度,StartedDate & EndDate”……你不是说两个时间列吗?
标签: ssis etl data-warehouse star-schema