I have:
National_Code | National_Title | Superseded_By_Code |
RVE20104 | Diploma of Aeronotics | AZC20210, AZC20110 |
TTE30803 | Diploma of Aeronotics | AZC30110, AZC32010 |
I want:
National_Code | National_Title | Superseded_By_Code |
RVE20104 | Diploma of Aeronotics | AZC20210 |
RVE20104 | Diploma of Aeronotics | AZC20110 |
TTE30803 | Diploma of Aeronotics | AZC30110 |
TTE30803 | Diploma of Aeronotics | AZC32010 |
Can you please write me some code in SAS SQL or BASE SAS?
Many thanks
Gwin
Within a DATA step:
data want;
set have;
do _n_=1 to countw(Superseded_by_Code);
new_code = scan(Superseded_by_Code, _n_);
output;
end;
drop Superseded_by_Code;
rename new_code=Superseded_by_Code;
run;
data want; set have; temp=superseded_by_code; superseded_by_code= scan(temp,1); output; superseded_by_code= scan(temp,2); output; drop temp; run;
@Astounding's approach is more flexible if you have more than 2 codes to split out.
Within a DATA step:
data want;
set have;
do _n_=1 to countw(Superseded_by_Code);
new_code = scan(Superseded_by_Code, _n_);
output;
end;
drop Superseded_by_Code;
rename new_code=Superseded_by_Code;
run;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.