Hi Everyone..
I am Using the following code..
Proc SQL;
select mail into : email separated by ' " " ' from dump;
quit;
filename report email from ="$$$$$$$$$@*******.com"
to="&email"
...So on..............................
My Question is ,instead of running the SQL Query Every time,I want to store that Email macro Variable permanently..
So ,Is there any way to store the macro variable permanently??
I've never heard of permanently storing a macro variable, but you could always wrap the code within a SAS macro (that you can store permanently), and then just call the macro whenever it is needed. That would probably be a better choice, anyhow, as the email base is likely to change over time.
Thank you art.
Or you could store it into a permanent text file, and put it back to a macro variable when needed:
%let email=%bquote("alkjdva@ald.com" "lajdfla@ut.com");
data _null_;
file "h:\email.txt";
put "&email";
run;
data _null_;
infile "h:\email.txt" truncover;
input email $char50.;
put email;
if _n_=1 then call symputx('email_new',email);
run;
%put &email_new;
Regards,
Haikuo
It's already stored in a temporary data set. You just need to retrieve it:
proc sql;
create table perm.macrovar as select * from dictionary.macros where name='MY_MACRO_VARIABLE';
quit;
However, if you are dealing with long values, dictionary.macros breaks up your variable into 200-character blocks which will need to be reassembled later.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.