Thanks for the reply. I just gave an example with 3 values but actually I have 4 subjects and totally 12 values i. e 3 for each subject. I am not allowed to create any table to achieve this. So, is there any way to do this without creating a table.
1) Create a file and put your 3 values on seperate lines.
2) Save it to alocation accessible from ODI.
3) Then in the ODI designer create a model based on that file i.e. reverse engineer it.
4) Then in the interface where you are loading your original data, drag in the new model as a 2nd source and perform a cross join between your 2 models to get the cartesian product of the 2 i.e. a line for each row in your first source model x each row in your 2nd model
5) Map to your target model
if you click on the sub_complexity column in the target pane, you see the mapping implementation in the Property Inspector.
For example case ( sub)
when sub =' eng' then 'eng_tough'
you can use others SQL or PL/SQL functions .