ssis - 迟到的事实 - 处理它的最佳方法

标签 ssis etl data-warehouse star-schema

我有一个跟踪公司角色的星型架构,例如该角色所属的部门、分配给该角色的员工、他们何时开始、何时/是否完成并离开。

我有两个时间维度,StartedDate 和 EndDate。当角色处于事件状态时,结束日期在源系统中为空。在星型架构中,我将任何空结束日期设置为 31/12/2099,这是我手动添加的维度成员。

我正在研究更新角色完成或员工离职时的结束日期的最佳方法。

现在我:

  1. 正常填充事实表,对所有维度进行查找。

  2. 然后,我对事实表进行查找以查找重复项,但在此查找中不包括 EndDate。不匹配的行是新的,因此插入到事实表中。

  3. 匹配行然后进入条件分割以检查 currentEndDate 是否与 newEnd Date 不同。如果不同,它们将被插入到 updateStaging 表中,并运行 proc 来更新事实表 Fact table data flow

是否有更有效或更简洁的方法来做到这一点?

最佳答案

将所有内容放入 foreach 容器中怎么样,它会迭代并且效率更高。

关于ssis - 迟到的事实 - 处理它的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35367590/

相关文章:

SSIS:如何从project.params值参数化foreach文件夹循环位置?

c# - SSIS 脚本组件 DT_TEXT 换行符未正确存储在表中

sql-server - SSIS:在 Excel 中打开的 CSV 提取 - 一些字符串值显示为日期

mysql - 如何在 MySQL 中将结果表转换为 JSON 数组

sql-server - SSIS 包未从服务器运行

database - Redshift 中的 sortkey 内部如何工作?

sql - 建模分层数据仓库维度

sql - 强制执行 1 :1 and 1:Many cardinality in denormalized warehouse table with composite Primary Key

c# - 无法使用 c# 执行包 SSIS

centos - 错误 org.eclipse.swt.SWTError : No more handles [gtk_init_check() failed] on centos 7