data have;
infile datalines;
input ID $6. code $ date $;
datalines;
AP9734 300 6/19/2019
AP9734 301 2/15/2020
run;
WANT:
ID code1 code2 date1 date1
AP9734 300 301 6/19/2019 2/15/2020
not sure why you want to do it, if it's for reporting purpose, you should look into proc report.
But anyways, here is a quick solution
data mrg;
merge have (obs=1 firstobs=1 rename=(code=code1 date=date1))
have (obs=2 firstobs=2 rename=(code=code2 date=date2));
by id;
run;
What if you have 3 or more values the same for id?
Is it always exactly 2?
not sure why you want to do it, if it's for reporting purpose, you should look into proc report.
But anyways, here is a quick solution
data mrg;
merge have (obs=1 firstobs=1 rename=(code=code1 date=date1))
have (obs=2 firstobs=2 rename=(code=code2 date=date2));
by id;
run;
Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.
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.
Ready to level-up your skills? Choose your own adventure.