Variable old_ID may include several names for each name in new_ID. I want to have only one name in old_ID for each name in new_id by separating names in old_id into several rows as the following.
Could you show me how to do so? Thank you so much!
Old_ID New_ID
P006 B01002
P006A B01002A
PCT003 B02005
P038 B05002
P047, P052 B08006
P016, P007, P023, P027, P030 B11001
P024, P008 B11002
P024A, P008A, B11002A
Old_ID New_ID
P006 B01002
P006A B01002A
PCT003 B02005
P038 B05002
P047 B08006
P052 B08006
P016 B11001
P007 B11001
P023 B11001
P027 B11001
P030 B11001
P024 B11002
P008 B11002
P024A P008A
P008A P008A
data want ; set have ;
do i=1 by 1 until (scan(old_id,i,',') = ' ');
new_old_id = scan(old_id,i,',');
output;
end;
run;
data want ; set have ;
do i=1 by 1 until (scan(old_id,i,',') = ' ');
new_old_id = scan(old_id,i,',');
output;
end;
run;
Hi Tom,
It works. Thank you so much,
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.