【发布时间】:2018-04-04 20:39:49
【问题描述】:
我想有一个偶数年的 sas 宏循环,所以 do 循环会从 2006 年跳到 2008 年再到 2010 年……一直跳到 2018 年,而不是从 2006 年到 2007 年。
当我执行 %by = 2 时,SAS 不起作用并给我一条错误消息。什么是最好的解决方案?
我有以下代码:
%macro import;
%do I = 2006 %to 2018;
data BTI&I;
set edited.Bti_&I;
year=&I;
run;
%end;
%mend import;
%import;
【问题讨论】:
-
显示不起作用的代码。
%do i=2006 %to 2018 %by 2;应该可以正常工作。 -
如果您只是增加年份,也许有更好的方法来完成这项工作。 INDSNAME 是一种选择。
-
嗨,汤姆...我使用了非常精确的代码,但收到以下错误消息:错误:%DO I 循环的 %BY 值为零。错误:宏 IMPORT 将停止执行。这是完整的代码: %macro import; %do I = 2006 %to 2018 %by = 2;数据 BTI&I;设置已编辑.Bti_&I;年=&I;跑; %结尾; %修正进口; %导入;