如何在Data Flow中仅对unit=code的数据截取前3个字符?
解决Data Flow中按条件截取字符串的问题
你可以在Data Flow的**派生列(Derived Column)**中使用以下表达式来实现需求:
case(unit == 'code', left(Country, 3), Country)
说明:
case()函数用于判断条件:当unit字段等于'code'时,执行left(Country, 3)截取Country字段的前3个字符;- 当
unit不等于'code'时,直接返回原Country字段的值,保持数据不变。
用你的测试数据验证:
- 输入
India, code→ 返回Ind, code - 输入
Bangladesh, money→ 返回Bangladesh, money - 输入
China, code→ 返回Chi, code
完全符合你期望的输出结果。如果之前用Case表达式没成功,大概率是没配合正确的字符串截取函数(比如left()),或者Case的语法不符合Data Flow的要求,按上面的写法调整即可。
内容的提问来源于stack exchange,提问作者Debashis
相关产品推荐
相关产品推荐

