sas一下代码报错:
NOTE 137-205: 由调用宏“C_N”生成行。
7 data test_0; set test; run; data test_1; set test_0; r_&&name&i.=&&name&i.; drop &&name&i.; run; data test_2
-
22
7 ! ; set test_1; &&name&i.=input(r_&&name&i.,8.); drop r_&&name&i.; run; data test_0; set test_2; run;
ERROR 22-322: 语法错误,期望下列之一: 名称, 带引号的字符串, 数值常数, 日期时间常数, 缺失值, INPUT, PUT.
各位大佬请问是哪里有问题,我要怎么改,谢谢谢谢谢谢,跪求答案
%macro c_n();
proc sql noprint;
select name,count(*) into :varname, :varnum
from sashelp.vcolumn
where libname='WORK' and memname='TEST' and type='char';
quit;
%do i=1 %to &varnum;
%let name&i=%scan(&varname,&i,'');
proc sql noprint;
select sum(case when compress(&&name&i.,'1234567890.-+','s') is null then 1 else 0 end)/count(*) into :miss&i from test;
quit;
%if &&miss&i.=1 %then
%do;
data test_0;
set test;
run;
data test_1;
set test_0;
r_&&name&i.=&&name&i.;
drop &&name&i.;
run;
data test_2;
set test_1;
&&name&i.=input(r_&&name&i.,8.);
drop r_&&name&i.;
run;
data test_0;
set test_2;
run;
%end;
%end;
%mend c_n;
%c_n();