baiyaoqian 发表于 2017-9-27 10:07
可以用options mlogic mprint;
看一下报错内容吗?
或者
136 %Macro Form;
137
138 %Do i=1 %to 3;
139 data date;set date;
140 if _N_ = &i then call symput('month',month1);
141 run;
142
143 %put &month;
144
145 proc sql;
146 create table temp0 as
147 select a.InstrumentID, a.Tradedate, b.ServerTime, b.LastPrice, b.Volume, b.Openinterest, b.Bidprice1,
147! b.BidVolume1, b.AskVolume1
148 from dominant AS a inner join future.ag&month AS b
149 on a.tradedate=b.tradedate and a.InstrumentID=b.InstrumentID;
150 quit;
151 %end;
152
153 %Mend Form;%Form;
MPRINT(FORM): data date;
MPRINT(FORM): set date;
MPRINT(FORM): if _N_ = 1 then call symput('month',month1);
MPRINT(FORM): run;
NOTE: 从数据集 WORK.DATE. 读取了 45 个观测
NOTE: 数据集 WORK.DATE 有 45 个观测和 5 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
实际时间 0.00 秒
CPU 时间 0.01 秒
1209
MPRINT(FORM): proc sql;
MPRINT(FORM): create table temp0 as select a.InstrumentID, a.Tradedate, b.ServerTime, b.LastPrice, b.Volume,
b.Openinterest, b.Bidprice1, b.BidVolume1, b.AskVolume1 from dominant AS a inner join future.ag1209 AS b on
a.tradedate=b.tradedate and a.InstrumentID=b.InstrumentID;
NOTE: 数据文件“FUTURE.AG1209.DATA”的格式是另一个主机的本地格式,或文件编码与会话编码不匹配。因此,系统将使用“跨
环境数据访问”。这可能需要额外的 CPU 资源,并可能降低性能。
NOTE: 表 WORK.TEMP0 创建完成,有 1186814 行,9 列。
MPRINT(FORM): quit;
NOTE: “PROCEDURE SQL”所用时间(总处理时间):
实际时间 1.85 秒
CPU 时间 1.87 秒
MPRINT(FORM): data date;
MPRINT(FORM): set date;
MPRINT(FORM): if _N_ = 2 then call symput('month',month1);
MPRINT(FORM): run;
NOTE: 从数据集 WORK.DATE. 读取了 45 个观测
NOTE: 数据集 WORK.DATE 有 45 个观测和 5 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
实际时间 0.01 秒
CPU 时间 0.00 秒
1210
MPRINT(FORM): proc sql;
MPRINT(FORM): create table temp0 as select a.InstrumentID, a.Tradedate, b.ServerTime, b.LastPrice, b.Volume,
b.Openinterest, b.Bidprice1, b.BidVolume1, b.AskVolume1 from dominant AS a inner join future.ag1210 AS b on
a.tradedate=b.tradedate and a.InstrumentID=b.InstrumentID;
NOTE: 数据文件“FUTURE.AG1210.DATA”的格式是另一个主机的本地格式,或文件编码与会话编码不匹配。因此,系统将使用“跨
环境数据访问”。这可能需要额外的 CPU 资源,并可能降低性能。
NOTE: 表 WORK.TEMP0 创建完成,有 0 行,9 列。
由于数据比较长 就截取了i=1的段落 不存在报错哎 就是取不出数据 看上去像是proc sql没有运行