Help using Base SAS procedures

Concatenate all variable into one seperated by delimiter

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 145
Accepted Solution

Concatenate all variable into one seperated by delimiter

Hi,

I have dataset X with variables COL1 TO COLN....

I wanted to create new varaible to concatenate all collumns sepeareted by delimiter..... COLN coule be col20 or col25...so it has to be generalised for all col starting with COL.... I TRIED THIS WAY BUT NOT WORKING....

data _null_;

   separator='%%$%%';

   col1='The Olympic  ';

   col2='   Arts Festival ';

   col3='   includes works by ';

   col4='Dale Chihuly.';

   result=catx(separator,colSmiley Happy;

   put result $char.;

run;

.


Accepted Solutions
Solution
‎07-07-2014 11:25 AM
Trusted Advisor
Posts: 1,204

Re: Concatenate all variable into one seperated by delimiter

data _null_;

   separator='%%$%%';

   col1='The Olympic  ';

   col2='   Arts Festival ';

   col3='   includes works by ';

   col4='Dale Chihuly.';

   result=catx(separator,of col:);

   put result $char.;

run;

View solution in original post


All Replies
Super User
Super User
Posts: 7,413

Re: Concatenate all variable into one seperated by delimiter

Hi, that seems to be an example from the help page.  Anyways, use the of colx-coly.  Note it will trim your data and hence lose the spaces.

data _null_;

   col1='The Olympic  ';

   col2='   Arts Festival ';

   col3='   includes works by ';

   col4='Dale Chihuly.';

   result=cat(of col1-col4);

   put result $char.;

run;

If you need the $ then put it into your strings.

Frequent Contributor
Posts: 145

Re: Concatenate all variable into one seperated by delimiter

Hi,

I want a generalised solution as there is chance that new collumns(col 5 col6 col7) will be added to the dataset.... I want write in such a way that it would concatenalte all columns starting with name COL so that in case new collumns are added in near future....

Super User
Posts: 17,912

Re: Concatenate all variable into one seperated by delimiter

Are the variables already defined in the dataset or are you creating them?

If they're already defined you can try:

data want;

set have;

array col(*) col:;

result=catx(",", of col(*));

run;

Solution
‎07-07-2014 11:25 AM
Trusted Advisor
Posts: 1,204

Re: Concatenate all variable into one seperated by delimiter

data _null_;

   separator='%%$%%';

   col1='The Olympic  ';

   col2='   Arts Festival ';

   col3='   includes works by ';

   col4='Dale Chihuly.';

   result=catx(separator,of col:);

   put result $char.;

run;

Frequent Contributor
Posts: 145

Re: Concatenate all variable into one seperated by delimiter

Thanks... This is what iw as looking for......

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 5 replies
  • 226 views
  • 3 likes
  • 4 in conversation