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,228

Re: Concatenate all variable into one seperated by delimiter

Posted in reply to rakeshvvv

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,988

Re: Concatenate all variable into one seperated by delimiter

Posted in reply to rakeshvvv

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: 19,862

Re: Concatenate all variable into one seperated by delimiter

Posted in reply to rakeshvvv

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,228

Re: Concatenate all variable into one seperated by delimiter

Posted in reply to rakeshvvv

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 and locked.

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

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