Hi All,
I have the following code and would like to do a search on values inside the macro &country. which has the value of Asia, Europe, USA.
I would like to use the newly created macro in a where statement in a separate data step. How could I change the value of the macro from Asia, Europe, USA to 'Asia', 'Europe', 'USA'
proc sql noprint;
select distinct
origin into:country separated by ", "
from sashelp.cars
;
quit;
%put &country.;
proc sql;
create table test_into as
select
*
from sashelp.cars
where origin in ('&country.')
;
quit;
Many thanks in advance !
Try this
proc sql noprint;
select distinct
quote(strip(origin)) into:country separated by ", "
from sashelp.cars
;
quit;
%put &country.;
proc sql;
create table test_into as
select
*
from sashelp.cars
where origin in (&country.)
;
quit;
Try this
proc sql noprint;
select distinct
quote(strip(origin)) into:country separated by ", "
from sashelp.cars
;
quit;
%put &country.;
proc sql;
create table test_into as
select
*
from sashelp.cars
where origin in (&country.)
;
quit;
Maybe i just don't understand your problem, but why do want all distinct values in a macro-variable? What is the purpose of subsequent steps?
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.