非标准SSIS查找

时间:2009-11-11 14:56:37

标签: ssis

我有一种情况,我试图使用BETWEEN运算符而不是=运算符,根据另一个表中的值查找一个表中的值。

在一个表中,我有一个值“EffectiveDate”。我想从另一个表中获取一个权重编号,但另一个表有两个字段:“初始”和“终止”。我想要做的是从该表中提取权重,以供EffectiveDate在初始和终止之间使用。

SSIS似乎没有提供这样做的方法。它擅长将一列与另一列匹配,但似乎不允许一对多列比较/操作。

我错过了什么吗?这有可能以某种方式吗?

3 个答案:

答案 0 :(得分:4)

查看此网址,因为它可能是性能杀手

http://blogs.msdn.com/mattm/archive/2008/11/25/lookup-pattern-range-lookups.aspx

脚本组件可以是前进的方向

答案 1 :(得分:0)

JUst为它设置了两个条件mydatefield> =某个日期和mydatefield< =某个日期

答案 2 :(得分:0)

看看:

http://www.julian-kuiters.id.au/article.php/ssis-lookup-with-range

http://sqlblog.com/blogs/jamie_thomson/archive/2009/11/28/debunking-kimball-effective-dates.aspx

(关于如何[不]重新呈现2型SCD,第二个链接是一个有争议的论据。)

如果你有时间和耐心,写一个脚本组件是从性能角度出发的方法。