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'
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'
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'
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!
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.
Ready to level-up your skills? Choose your own adventure.