我导入了一个getnames=no
proc import out=dstest
datafile
...
run;
并获得了一堆F1-F5
变量
现在我想重命名它们
data dstest (rename=(F2=newName));
set dstest ;
run;
这是错误
The variable F2 in the DROP, KEEP, or RENAME list has never been referenced
data dstest ;
set dstest(rename=(F2=newName)) ;
run;
这是错误
Variable F2 is not on file WORK.dstest.
然而proc打印工作正常
proc print data=tortdata (obs=10) ;
var F2;
run;
答案 0 :(得分:2)
您发布的内容没有任何内在错误,因为代码应该运行:
data blah;
f1=1;
f2=4;
run;
data blah(rename=(f1=a f2=b));
set blah;
run;
但是,如果您只是重命名变量,则没有理由进行数据步骤。 PROC DATASETS
无需遍历整个数据集即可处理此问题。如果数据集很小,这可能无关紧要,但如果数据集很大,这可能会节省大量时间。请注意,您无法运行上述内容,因为如果您不重新构建blah
数据集,则f1和f2将会消失。
proc datasets lib=work;
modify blah;
rename f1=a f2=b;
quit;