BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
david27
Quartz | Level 8

Team,

This is what I have:

data have;
input have $12.;
datalines;
1
2
3
4,5
6,7,8
1
;
run;

 

I want all the values in single macro variable separated by comma(,)

 

want='1','2','3','4','5','6','7','8'
1 ACCEPTED SOLUTION

Accepted Solutions
Reeza
Super User
data have;
input have $12.;
datalines;
1
2
3
4,5
6,7,8
1
;
run;

*create temporary view of data with a row for each value;
data _temp / view = _temp;
set have;

nterms= countw(have);
do i=1 to nterms;
value = scan(have, i);
output;
end;
run;

proc sql noprint;
*add all DISTINCT values into macro variable;
select distinct quote(trim(value), "'") into :var_list separated by ", " from _temp;
*drop temporary view;
*drop view _temp;
quit;


%put &var_list.;

@david27 wrote:

Team,

This is what I have:

data have;
input have $12.;
datalines;
1
2
3
4,5
6,7,8
1
;
run;

 

I want all the values in single macro variable separated by comma(,)

 

want='1','2','3','4','5','6','7','8'

 

View solution in original post

1 REPLY 1
Reeza
Super User
data have;
input have $12.;
datalines;
1
2
3
4,5
6,7,8
1
;
run;

*create temporary view of data with a row for each value;
data _temp / view = _temp;
set have;

nterms= countw(have);
do i=1 to nterms;
value = scan(have, i);
output;
end;
run;

proc sql noprint;
*add all DISTINCT values into macro variable;
select distinct quote(trim(value), "'") into :var_list separated by ", " from _temp;
*drop temporary view;
*drop view _temp;
quit;


%put &var_list.;

@david27 wrote:

Team,

This is what I have:

data have;
input have $12.;
datalines;
1
2
3
4,5
6,7,8
1
;
run;

 

I want all the values in single macro variable separated by comma(,)

 

want='1','2','3','4','5','6','7','8'

 

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

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
  • 1 reply
  • 7388 views
  • 0 likes
  • 2 in conversation