Concatenating text strings from multiple observations on a variable

Reply
Contributor
Posts: 37

Concatenating text strings from multiple observations on a variable

I need to concatenate the following text strings from multiple records in a variable Var1

Var1

01

02

03

04

.

.

into something like

"01", "02", "03", "04", ......

and store this long string in a macro variable.

Is there an easy way to do it?

Thanks.

Super User
Posts: 17,819

Re: Concatenating text strings from multiple observations on a variable

Use SQL and into with separated by option. Note that the quotes are: single, double, comma, double, single. Also that the first and end quotes are missing, but you can easily get around that by including them in your query.

Proc SQL noprint;

select name into :name_list separated by '" , "'

from sashelp.class;

quit;

%put &name_list;

%put "&name_list";

Respected Advisor
Posts: 3,777

Re: Concatenating text strings from multiple observations on a variable

QUOTE function

18         Proc SQL noprint;
19            select quote(strip(name)) into :name_list separated by ','
20            from sashelp.class;
21            quit;
22            run;
23         %put NOTE: &=name_list;
NOTE:
NAME_LIST=
"Alfred","Alice","Barbara","Carol","Henry","James","Jane","Janet","Jeffrey","John","Joyce","Judy","Louise","Mary","Philip"
,
"Robert","Ronald","Thomas","William"
Contributor
Posts: 37

Re: Concatenating text strings from multiple observations on a variable

Thank you both!  It works!

Ask a Question
Discussion stats
  • 3 replies
  • 233 views
  • 1 like
  • 3 in conversation