| 
 | 
地板
 
 
 楼主 |
发表于 2012-6-12 16:58:49
|
只看该作者
 
 
 
Re: 数据合并疑问
[quote="yatming":1x3odjet]一个stupid的办法。 
[code:1x3odjet] 
proc sql noprint;select memname into:dsnlist separated by " " from dictionary.tables where libname="WORK";run; 
 
data tar;length id $ 32; set daysh600000;stop;run; 
 
%macro inserttable(dsnlist); 
%let n=%eval(%sysfunc(count(&dsnlist,%str( )))+1); 
%do i=1 %to &n; 
        %let dsn=%scan(&dsnlist,&i); 
        proc sql; 
                insert into tar select "&dsn", date, open, hight, low, clsoe from &dsn; 
        quit; 
%end; 
%mend; 
[/code:1x3odjet] 
再想想吧。。。[/quote:1x3odjet] 
 
非常感谢,有些疑问还请指点: 
data tar;length id $ 32; set daysh600000;stop;run;这里id没有初始化,daysh600000中并没有该变量; 
%macro inserttable(dsnlist);中参数dsnlist是上面proc sql的生成的宏变量,解析的事数据库中数据名。用在这里我不大明白?谢谢 |   
 
 
 
 |