Hi all,
i need to put a macro variable (number of obs in a dataset) into the code that send an automatic email with sas.
I count the number of obs with this sql:
proc sql noprint;
select count(*)
into :count
from lista
;
quit;
%put Count=&count.;
and then i need to put &count into the automatic email that i want to send, i tried in this way:
filename mymail email
from=("XXX")
to=("XXX")
subject="Daily report"
;
data _null_;
file mymail;
put 'Hi,';
put 'here the daily numbers of record';
put '&count'.;
put 'Ciao';
run;
Apparently it doesn't working. Could you please help me?
Many thanks,
Marco
A more efficient way to get the obs count is by using dictionary.tables, as it only reads the dataset header:
proc sql noprint;
select nobs into :count from dictionary.tables
where libname ="WORK" and memname = "LISTA";
quit;
For your question, macro variables are not resolved inside single quotes; use double quotes instead.
A more efficient way to get the obs count is by using dictionary.tables, as it only reads the dataset header:
proc sql noprint;
select nobs into :count from dictionary.tables
where libname ="WORK" and memname = "LISTA";
quit;
For your question, macro variables are not resolved inside single quotes; use double quotes instead.
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 lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.