SSIS表达式合并两列

时间:2013-11-07 17:32:25

标签: sql sql-server ssis

我有一个.CSV导入,我将执行一系列转换。 我需要做的第一个转换是将两个City Columns合并为一列。

我的数据看起来像这样。

| City1 | City2 |
|Wichita|       |
|       |Houston|
|       |Chicago|
|Denver |       |

所需的输出应为

| City  |
|Wichita|
|Houston|
|Chicago|
|Denver |

我希望将其保留为SSIS派生列表达式,以便将其与我需要执行的其他转换联系起来。

我已经回到供应商并要求他们更正数据,他们否认了这一点。现在由我来纠正脏数据,以便我们可以在一系列报告中使用它。

提前感谢您的支持。

3 个答案:

答案 0 :(得分:4)

使用派生列替换城市1.公式看起来像City1 ==“”? City2:City 1

答案 1 :(得分:0)

您可以尝试进行unpivot转换。但是这可能会留下一些空白行来清理。

另一种可能性是模拟合并功能。 [reference]

答案 2 :(得分:0)

尝试

select city1 as city
    from Table 
    where city1 not null
    union all
    select city2 as city
    from Table 
    where city2 not null