Ssis SSI交换数据流中与查找表匹配的某些值

Ssis SSI交换数据流中与查找表匹配的某些值,ssis,sql-server-2008-r2,transform,lookup,Ssis,Sql Server 2008 R2,Transform,Lookup,这是我的问题-在我的数据流的中游,我们在一列中有一些值,我们希望根据查找表交换其他值 例如,如果我有这样一个行集: Key Value 1 A 2 B 3 A 4 C 5 D 6 B ... ... Value1 Value2 C Y D Z Key Value 1 A 2 B 3 A 4 Y 5 Z 6 B ... ... 如果我在SQL

这是我的问题-在我的数据流的中游,我们在一列中有一些值,我们希望根据查找表交换其他值

例如,如果我有这样一个行集:

Key   Value
1     A
2     B
3     A
4     C
5     D
6     B
...   ...
Value1    Value2
C         Y
D         Z
Key   Value
1     A
2     B
3     A
4     Y
5     Z
6     B
...   ...
如果我在SQL Server DB中有一个如下所示的查找表:

Key   Value
1     A
2     B
3     A
4     C
5     D
6     B
...   ...
Value1    Value2
C         Y
D         Z
Key   Value
1     A
2     B
3     A
4     Y
5     Z
6     B
...   ...
然后,我希望我的包仅交换这些值,以便生成的数据流如下所示:

Key   Value
1     A
2     B
3     A
4     C
5     D
6     B
...   ...
Value1    Value2
C         Y
D         Z
Key   Value
1     A
2     B
3     A
4     Y
5     Z
6     B
...   ...

哪些组件可以产生最简单的解决方案?

您可以使用查找组件,然后:

  • 将其设置为忽略失败
  • 不匹配的值将为查找值返回null
  • 使用派生列表达式填充查找成功的位置

    ISNULL(值2)?值:值2