Talend:匹配2个列并仅显示这些值匹配的行
我是Talend的初学者,如果有人能帮助我,我将不胜感激 如何将邮政编码ex:69000的前两位数字与包含值69的另一列相匹配。然后仅显示这些值匹配的行。(附有完整数据的Excel文件) 以下数据示例:Talend:匹配2个列并仅显示这些值匹配的行,talend,Talend,我是Talend的初学者,如果有人能帮助我,我将不胜感激 如何将邮政编码ex:69000的前两位数字与包含值69的另一列相匹配。然后仅显示这些值匹配的行。(附有完整数据的Excel文件) 以下数据示例: ID, CompanyName, CodePostal, City, DepartementNumber, Region 5 TELMAT INFORMATIQUE 69000 LYON 66 pyrenees-orientales 5 TELMAT INFORMATIQ
ID, CompanyName, CodePostal, City, DepartementNumber, Region
5 TELMAT INFORMATIQUE 69000 LYON 66 pyrenees-orientales
5 TELMAT INFORMATIQUE 69000 LYON 67 bas-rhin
5 TELMAT INFORMATIQUE 69000 LYON 68 haut-rhin
**5 TELMAT INFORMATIQUE 69000 LYON 69 rhone**
5 TELMAT INFORMATIQUE 69000 LYON 70 haute-saone
5 TELMAT INFORMATIQUE 69000 LYON 71 saone-et-loire
5 TELMAT INFORMATIQUE 69000 LYON 72 sarthe
5 TELMAT INFORMATIQUE 69000 LYON 73 savoie
提前感谢您可以使用正则表达式:
例如,在mysql中,我们有:
select * FROM companies WHERE CodePostal REGEXP '^(69)'
->where('slug', 'regexp', "^(69)")
在拉雷维尔,我们有:
select * FROM companies WHERE CodePostal REGEXP '^(69)'
->where('slug', 'regexp', "^(69)")
您可以在tMap的输出上使用一个简单的过滤器,只允许验证条件的记录:
StringHandling.LEFT(row.CodePostal, 2).equals(row.DepartementNumber)
您必须对字符串对象使用
equals
方法,使用==无效。您自己尝试过什么?请注意,StackOverflow不是一个代码编写服务,而是一个帮助您编写代码的地方。请包括您自己的尝试,并指定不适用于这些尝试的内容。实际上没有要发布的代码,但是我的尝试是使用stringHandling LEFT函数在tMap组件中添加一个筛选器,以选择字符串的前2个值,然后使用==操作将其与第二列中的2个值进行比较。感谢您的提示“您必须在字符串对象上使用equals方法,使用==将不起作用。”当我使用此筛选表达式时,实际解决了此问题,但使用==从未起过作用。很好!如果解决了您的问题,您能接受答案吗?:)