I Have a Data Like below table. I Just Had only name and Grade. Need to create All_Grades(Individual Grades should come seperated by "-")
Name Grade All_Grades
Alfred A A-B-C-A-D
Alfred B A-B-C-A-D
Alfred C A-B-C-A-D
Alfred A A-B-C-A-D
Alfred D A-B-C-A-D
James B B-C-A
James C B-C-A
James A B-C-A
Philip D D-C-A-A
Philip C D-C-A-A
Philip A D-C-A-A
Philip A D-C-A-A
William A A-A-C
William A A-A-C
William C A-A-C
Thanks in advance
Here's one way, assuming that your data is sorted by NAME:
data want;
length all_grades $ 20;
do until (last.name);
set have;
by name;
all_grades = catx('-', all_grades, grade);
end;
do until (last.name);
set have;
by name;
output;
end;
run;
Please post what you'd like the output to be, for clarification.
Also...look at the scan function.
Here's one way, assuming that your data is sorted by NAME:
data want;
length all_grades $ 20;
do until (last.name);
set have;
by name;
all_grades = catx('-', all_grades, grade);
end;
do until (last.name);
set have;
by name;
output;
end;
run;
Yes, It's working Fine. Thanks a lot.
Please mark the appropriate response as your accepted solution.
This helps other users know that a correct or acceptable answer for a given problem has been posted.
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 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.