n*****t 发帖数: 1015 | 1 比如第一个loop里yr=2005, mon=1,我在log file里得到这样的error message:
ERROR: Physical file does not exist, E:vrpdata_analysishighfreq_datastk_list_
2004.txt.
ERROR: Import unsuccessful. See SAS Log for details.
ERROR: File ORIG.MT_.DATA does not exist.
ERROR: File WORK.YR_1.DATA does not exist.
我的程序如下:谢谢!
%macro subsetall;
%do yr=2005 %to 2006;
data _null_;
if &yr<=2005 then idxm=12;
else idxm=6;
call symput('idxm',idxm);
run;
%put &idxm;
%do mon=1 %to &idxm;
data _null_;
if &mon<=6 then yr1=&yr-1;
else yr1=&yr;
if &mon<=6 then yr2=&yr;
else yr2=&yr +1;
call symput('yr1',yr1);
call symput('yr2',yr2);
run;
%put &yr1;
%put &yr2;
proc import out=ticklist file="E:vrpdata_analysishighfreq_datastk_
list_&yr1..txt" dbms=tab replace;
getnames=yes;
run;
data quote; set orig.mt_&yr_&mon;
price=0.5*(bid+ofr);
run;
data quote3; set quote3 quote; run;
%end;
%end;
%mend;
%subsetall; |
w*******n 发帖数: 469 | |
s*******e 发帖数: 1385 | 3 E:之后没有slash?
list_
【在 n*****t 的大作中提到】 : 比如第一个loop里yr=2005, mon=1,我在log file里得到这样的error message: : ERROR: Physical file does not exist, E:vrpdata_analysishighfreq_datastk_list_ : 2004.txt. : ERROR: Import unsuccessful. See SAS Log for details. : ERROR: File ORIG.MT_.DATA does not exist. : ERROR: File WORK.YR_1.DATA does not exist. : 我的程序如下:谢谢! : %macro subsetall; : %do yr=2005 %to 2006; : data _null_;
|
n*****t 发帖数: 1015 | 4 大牛,能不能告诉我具体该怎么改正?谢谢!
【在 w*******n 的大作中提到】 : 这个程序錯太多了,数据和宏语句搞混了
|
n*****t 发帖数: 1015 | 5 没看明白,什么是E: ?谢谢
【在 s*******e 的大作中提到】 : E:之后没有slash? : : list_
|
s*******e 发帖数: 1385 | 6 你的文件时存在E盘的?
你的macro里面所有的if then都应该%if %then,因为你判断的是macro variable的值,
不是data variable
【在 n*****t 的大作中提到】 : 没看明白,什么是E: ?谢谢
|
s*******e 发帖数: 1385 | 7 还有这句
data quote; set orig.mt_&yr_&mon;
price=0.5*(bid+ofr);
run;
应该是
data quote; set orig.mt_&yr._&mon;
price=0.5*(bid+ofr);
run;
【在 s*******e 的大作中提到】 : 你的文件时存在E盘的? : 你的macro里面所有的if then都应该%if %then,因为你判断的是macro variable的值, : 不是data variable
|