BookmarkSubscribeRSS Feed
JasonL
Quartz | Level 8

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.

3 REPLIES 3
Reeza
Super User

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";

data_null__
Jade | Level 19

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"
JasonL
Quartz | Level 8

Thank you both!  It works!

How to Concatenate Values

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.

SAS Training: Just a Click Away

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

Browse our catalog!

Discussion stats
  • 3 replies
  • 1253 views
  • 1 like
  • 3 in conversation