Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SSIS-获取不匹配的行并加载到维度表中_Sql Server_Visual Studio_Ssis - Fatal编程技术网

Sql server SSIS-获取不匹配的行并加载到维度表中

Sql server SSIS-获取不匹配的行并加载到维度表中,sql-server,visual-studio,ssis,Sql Server,Visual Studio,Ssis,我有两张桌子 1) 具有多列且日期为其中一列的暂存表 Date 9/1/2018 2) 只有一列称为“日期”的日期维度表 Date 1/1/2018 2/1/2018 3/1/2018 4/1/2018 我正在SSIS中编写一个逻辑,其中它将检查暂存表和维度表,并在维度表中插入缺少的日期 为此,我使用以下逻辑 查找组件具有来自临时表的正确的1行输入,并返回NULL值。因此,由于约束,插入失败 我确实在屏幕1上的查找中启用了将不匹配行重新定向到不匹配输出 请帮我解决这个问题。解决方案是将查找

我有两张桌子

1) 具有多列且日期为其中一列的暂存表

Date
9/1/2018
2) 只有一列称为“日期”的日期维度表

Date
1/1/2018
2/1/2018
3/1/2018
4/1/2018
我正在SSIS中编写一个逻辑,其中它将检查暂存表和维度表,并在维度表中插入缺少的日期

为此,我使用以下逻辑

查找组件具有来自临时表的正确的1行输入,并返回NULL值。因此,由于约束,插入失败

我确实在屏幕1上的查找中启用了将不匹配行重新定向到不匹配输出


请帮我解决这个问题。

解决方案是将查找操作更改为添加为新列:-


这不是问题所在。问题是当一个日期超过了查找,并且是一个重复的日期时

在插入维度之前,在日期列上运行聚合[group by]


确保您使用的日期正确。要插入的记录将没有查找匹配项(因此该列默认为空)。您甚至不应该为此用途从查找中添加任何列。

我建议您不要依赖缓慢、难以维护的SSIS转换,而只需在数据库中运行一个t-SQL查询即可。事实上您的日历维度中应该已经包含所有日期,而不管数据是什么。