SSIS:根据其他列中的某个字符串填充列

时间:2015-10-21 13:00:00

标签: ssis

我有一个填充了随机文本的表格,我想基于该文本列中的某些单词创建一个新列。

例如,我有以下表格:

ID | text
1  | I like that car
2  | That restaurant is too expensive
3  | We have a cat
4  | I'm sleepy

我想根据文本列包含的关键字进行搜索,以获得此结果:

ID | text                                     | Category
1  | I like that car                          | Vehicle
2  | That dinner is too expensive             | Food
3  | We have a cat                            | Animals
4  | I'm sleepy                               | Other

我在想的是使用带

的派生列
FINDSTRING(text,"car",1) > 0 ? "Vehicle" : FINDSTRING(text,"cat",1) > 0 ? Animals : ...

但这似乎不是一个好主意,因为我真的需要在文本列中搜索20个关键字。我尝试用多个派生列互相执行,但是他们只是一遍又一遍地重写新列。 任何其他建议或方法来解决它?

1 个答案:

答案 0 :(得分:0)

将关键字及其类别放在表格中,并在源组件的SQL查询中填充“类别”列。