Can somebody help me converting below case statement in tmap please.
case when substr(naics_cd,1,2)='23' then 'Construction'
when substr(naics_cd,1,2)='11' then 'Agriculture'
when (substr(naics_cd,1,2) in ('31','32','33') and SUBSTR(NAICS_CD,1,4) not in('3366')) then 'Manufacturing'
when (substr(naics_cd,1,4) in('3366', '4872', '4883') or substr(naics_cd,1,3)='483') then 'Maritime'
else 'General Industry'
END as col
Thanks in advance
There are several ways to do this.
1) You can write a routine which uses a Java switch statement (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html and https://www.talendbyexample.com/talend-code-routines-reference.html).
2) You can make use of tMap variables and test each of your cases per variable. For example, you could have 6 variables (Construction, Agriculture, Manufacturing, Maritime, General_Industry and Result)and test your column values against each of them. Then use the Result variable to assess which variable value to use. An example of the variable code (without the substring Java since this can be Googled) would be.....
row1.value.compareToIgnoreCase("23")==0 ? "Construction" : null
Then the Result variable would hold something like below (assuming the other variables have been configured)...
Var.Construction!=null ? Var.Construction : Var.Agriculture !=null ? Var.Agriculture : Var.Manufacturing!=null ? Var.Manufacturing : Var.Maritime!= null ? Var.Maritime : Var.General_Industry!=null ? Var.General_Industry : null
......there are other ways, but the above should help you
Talend named a Leader.
Kickstart your first data integration and ETL projects.
Watch the recorded webinar!
Learn how to do cool things with Context Variables
Find out how to migrate from one database to another using the Dynamic schema
Pick up some tips and tricks with Context Variables