Talend:tFilterRow返回actual为true时运行子任务的条件失效求助
解决Talend tFilterRow中
actual值判断不生效的问题 先检查
actual字段的数据类型:
如果它是布尔类型(Boolean),别用字符串比较,直接写input_row.actual就行。布尔值本身就是true/false,你用equals("true")是拿布尔对象和字符串比,肯定不匹配。
如果是字符串类型,看看值有没有大小写问题(比如"True"),换成input_row.actual.equalsIgnoreCase("true")就能忽略大小写匹配。排查字段值的空格问题:
数据源里的字符串可能带前后空格(比如" true "),这时候equals("true")也会失效,改成input_row.actual.trim().equals("true")先清掉空格再比较。确认字段映射正确:
检查tFilterRow的输入连接里,actual字段是不是真的传过来了,有没有拼写错误(比如把actual写成actural)。可以在组件里预览输入数据,看看actual列的真实值是什么。分步测试条件:
先把条件简化成input_row.actual != null,看看过滤逻辑能不能正常工作,逐步缩小问题范围。如果是布尔型,直接用input_row.actual作为判断条件就够了,Talend会自动识别布尔值的真假。
内容的提问来源于stack exchange,提问作者anewone
相关产品推荐
相关产品推荐

