0
我需要对变量列表执行循环,但不包括其中的某些变量。 我想为每个变量添加一个前缀,除了那些变量。SAS从字典列中排除选择的变量
我写了一个宏:
%macro addprefijo(tabla);
proc contents data = labo2.&tabla.;
title 'before renaming'; run;
proc sql;
select nvar into :num_vars
from dictionary.tables
where libname='LABO2' and memname="&tabla";
%put 'num_vars' &num_vars;
select distinct(name) into :var1-:var%trim(%left(&num_vars))
from dictionary.columns
where libname='LABO2' and memname="&tabla" /*and name not in ('cid', 'COUNTY', 'ESTADO') */;
quit;
proc datasets library=LABO2;
modify &tabla;
rename
%do i=1 %to &num_vars.;
&&var&i = &tabla._&&var&i.
%end;
;
quit;
run;
proc contents data=LABO2.&tabla.;
title' after renaming';
run;
%mend;
%addprefijo(A_CLI);
我想什么评论,但崩溃,并用它进行添加前缀到所有变量。这3个变量并不在所有表格中。
我该如何解决?
谢谢
尝试从该PROC SQL块中删除%put,看看会发生什么。 – Reeza 2014-09-22 02:45:14