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,
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.