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没有运行