【发布时间】:2014-04-04 10:19:06
【问题描述】:
我是在 SAS 中编写宏的新手,并且是一名熟练的 R 用户,我很难理解如何在 SAS 中做事。 我正在尝试创建一个包含数据集中日期列表的宏变量。
我的代码是 -
proc sql noprint;
select distinct sdate into : sdatem separated by ' '
from work.date_list;
quit;
%put &sdatem;
但是当我运行这段代码时,代码执行没有任何错误,但是日志中的 %put 语句打印出来
%put &sdatem;
而不是实际值。知道为什么会这样吗?日期在 yymmddn8 中。格式。
我使用的样本数据是-
DATA compno_date_list;
INPUT compno sdate;
DATALINES;
12490 20090120
87432 20090120
24643 20090120
87432 20090119
12490 20090105
24643 20090105
;
proc print data=compno_date_list;
run;
任何帮助都会很棒!谢谢
【问题讨论】:
-
如果您的代码最近运行时出现错误,则可能已将
OBS=选项设置为零。尝试运行OPTIONS OBS=MAX NOSYNTAXCHECK;,然后再次运行代码。 -
试过这个。但是还是不行。
-
%put语句下面的行是否完全空白? -
是的。你的意思是在代码中还是在日志中?两者都是空白
-
语句
%put foo &sdatem bar;在日志中返回了什么?