SAS中电子邮件模板中的宏变量?
我有以下代码:SAS中电子邮件模板中的宏变量?,sas,Sas,我有以下代码: %let host = HostThatSendsEmail; %let todayDate = &SYSDATE9; signon host; rsubmit; filename mail email to = ("PersonGettingEmail") from= "PersonSendingEmail" SUBJECT="Today is &todayDate"; data _null_; file
%let host = HostThatSendsEmail;
%let todayDate = &SYSDATE9;
signon host;
rsubmit;
filename mail email to = ("PersonGettingEmail")
from= "PersonSendingEmail"
SUBJECT="Today is &todayDate";
data _null_;
file mail;
put 'Dear All';
put 'Today is &todayDate';
run;
endrsubmit;
运行代码时,宏日期不会输入到电子邮件中。产生的电子邮件应为:
各位亲爱的
今天是三月二十九日
取而代之的是:
各位亲爱的
今天是&今天
是否缺少某些代码?请尝试在数据步骤中使用双引号。宏变量将不会以单引号解析。您在本地创建了宏…但随后登录到远程主机。SAS的远程会话不知道本地主机上的宏 使用是解决这个问题的一种方法 将此代码放在登录和RSUBMIT之间
%SYSLPUT TODAYDATE = &todayDate;
如果您希望在远程主机上提供大量宏变量。您可以将它们写入数据集,并使用将数据集移动到远程主机。确实,您需要双引号来强制解析宏变量。如果将宏变量封装在%BQUOTE'&var'中,它们将在单引号内解析