12# ntsean 这是我写的程序
dm 'log;clear;';
%macro procdata;
%DO I=1 %TO 10;
DATA _NULL_;
X=PUT(&I,Z6.);
CALL SYMPUT("X",X);
RUN;
%PUT &X;
PROC IMPORT OUT= WORK.SZ&X
DATAFILE= "E:\data\&X..SZ.CSV"
DBMS=CSV REPLACE;
GETNAMES=YES;
DATAROW=2;
RUN;
/*%let setid=%sysfunc(open(work.sz&X));
if (&setid ^=0) then */
data chstkdt.sz&X(rename=(var1=stkcd var2=stknm var3=tdate var7=clsp));
set work.sz&X (keep= var1 var2 var3 var7);
cret=log(var7/lag(var7));
ret=dif(var7)/lag(var7);
run;
%END;
%mend procdata;
%procdata;
其中注释起来语句是我想判断set是否存在,如果存在就进行数据处理,如果不存在do nothing. 但是加上后就有错误了,我也不知道怎么改。
谢谢你热心的回复
