crackman 发表于 2010-7-7 23:25 
data c;
%do i=2 %to 9;
%let j=%eval(&i.-2);
dm=&k&i.-&k.&j..;
%end;
run;
不好意思,程序出错误了,日志窗口如下:
data c;
19 %do i=2 %to 4;
ERROR: %DO 语句在开型代码中无效。
20 %let j=%eval(&i.-2);
WARNING: 没有解析符号引用 I。
WARNING: 没有解析符号引用 I。
ERROR: 在需要数值操作数的 %EVAL 函数或 %IF 条件中发现字符操作数。条件是: &i.-2
21 dm=&k&i.-&k.&j..;
-
22
WARNING: 没有解析符号引用 K。
WARNING: 没有解析符号引用 I。
21 dm=&k&i.-&k.&j..;
--
22
ERROR 22-322: 语法错误,期望下列之一: 名称, 带引号的字符串, 数值常数, 日期时间常数, 缺失值,
INPUT, PUT.
ERROR 22-322: 语法错误,期望下列之一: 名称, 带引号的字符串, 数值常数, 日期时间常数, 缺失值,
arrayname, (, +, -, INPUT, NOT, PUT, ^, _NEW_, ~.
WARNING: 没有解析符号引用 K。
21 dm=&k&i.-&k.&j..;
--
201
ERROR 201-322: 该选项不可识别,将被忽略。
22 %end;
ERROR: %END 语句在开型代码中无效。
23 run;