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.
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.