BookmarkSubscribeRSS Feed
lnb001
Calcite | Level 5
I am working on a report that requires concatenating multiple records into one field. I first transposed my table and tried to concatenate everything into one column. The problem I encountered is that some observations have only one record of interest while others have as many as eight so when trying to separate each record in the concatenated column I get trailing commas for any cases that have less than eight records. How can I get rid of the trailing commas? Thanks.
3 REPLIES 3
data_null__
Jade | Level 19
CATX should help.

[pre]
proc sort data=sashelp.class out=_data_;
by age;
run;
proc transpose;
by age;
var weight;
run;
proc print;
run;
options missing=' ';
data;
set;
length w $64;
w = catX(', ',of col:);
drop col:;
run;
proc print;
run;
[/pre]
chang_y_chung_hotmail_com
Obsidian | Level 7

Use CATX function.

data _null_;
   a = ""; b = "b";
   ab = catx(",",a,b);
   put (_all_) (=);
run;
/* on log
   a=  b=b ab=b
*/

lnb001
Calcite | Level 5
This worked. Thanks!

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

What is Bayesian Analysis?

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 2831 views
  • 0 likes
  • 3 in conversation