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;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.