I have a flat file, in which I have two fields emp_id, emp_name. The data is like this- emp_id emp_name 101 soha 101 ali 101 kahn 102 Siva 102 shanker 102 Reddy How to merge the names so that my output is like this Emp_id Emp_name 101 Soha ali Kahn 102 Siva shanker Reddy
Scenario:
I have a flat file, in which I have two fields emp_id,
emp_name. The data is like this-
emp_id emp_name
101 soha
101 ali
101 kahn
102 Siva
102 shanker
102 Reddy
How to merge the names so that my
output is like this
Emp_id Emp_name
101
Soha
ali Kahn
102
Siva
shanker Reddy
Solution:
Follow
the below steps
- user a sorter transformation and sort the data as per emp_id
- Use Exp transformation:
Create blow ports
V_emp_id = emp_id
V_previous_emp_id = emp_id
V_emp_name = emp_name
V_emp_full_name = iif(V_emp_id = V_previous_emp_id ,
V_emp_name||’ ’|| V_emp_full_name, V_emp_name)
O_emp_full_name = V_emp_full_name
O_counter = iif(O_counter is null,1,O_counter+1)
- output will look like
emp_id emp_name Counter
101 soha 1
101 soha ali 2
101 soha ali kahn 3
102 Siva 4
102 Siva shanker 5
102 Siva shanker Reddy 6
- Send Emp_id and Counter to Agg, where take a max counter for each id so o/p will be
Emp_id Counter
101 3
102 6
5. Joint
output of step three and 4, you will get desire output as
Emp_id Emp_name
103
Soha
ali Kahn
104
Siva
shanker Reddy
Comments
Post a Comment