/* read the test data */
%let n = 3; %*-- maximum number of scores --*;
data people;
infile cards dsd dlm="," missover;
input name :$8. @;
array v v1-v&n;
do over v;
input v @;
end;
input; /* release the input hold */
cards;
David, 10, 3, 20
Mary, 31, 2
Jason, 1
;
run;
data scores;
set people;
array v v1-v3;
do over v;
if missing(v) then continue;
score = v;
output;
end;
keep name score;
run;
/* check */
proc print data=scores noobs;
run;
/* on lst
name score
David 10
David 3
David 20
Mary 31
Mary 2
Jason 1
*/
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.