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?
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
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.