SSIS:根据其他列中的特定字符串填充列

SSIS: Fill column based on certain string from other column

我有一个 table 填充了随机文本,我想根据该文本列中的某些词创建一个新列。

例如,我有以下 table:

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 个关键字。我试图用多个派生列来做到这一点,但随后它们只是一遍又一遍地覆盖新列。 还有其他建议或解决方法吗?

将您的关键字及其类别放入 table,并填充源组件中 SQL 查询中的类别列。