%macro set;
data zhu;
set %do i=%eval(20050601) %to %eval(20050624);
data _null_;
call symput('id',put(&i,z8.));
run;
%let dset=zhu_&id;
%let dsid=%sysfunc(exist(&dset));
%if &dsid %then &dset;
%end;
;
run;
%mend set;
但是这个宏无法执行,日志显示为:
ERROR: 文件“WORK.DATA.DATA”不存在。
NOTE: SAS 系统由于错误而停止了该步的处理。
WARNING: 数据集 WORK.ZHU 可能不完整。该步停止时,共有 0 个观测和 0 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
实际时间 0.01 秒
CPU 时间 0.01 秒
WARNING: 没有解析符号引用 ID。
WARNING: 没有解析符号引用 ID。
NOTE: “DATA 语句”所用时间(总处理时间):
实际时间 0.00 秒
CPU 时间 0.00 秒
NOTE: 由宏变量“DSET”生成行。
1 exer.zhu_20050602
-----------------
180
ERROR 180-322: 语句无效或未按正确顺序使用。
NOTE: 由调用宏“SET”生成行。
9 call symput('id',put(&i,z8.));
----
180
ERROR 180-322: 语句无效或未按正确顺序使用。
请各位大侠帮帮忙,看看问题可能出在哪里?万分感谢!



雷达卡




京公网安备 11010802022788号







