s********l 发帖数: 245 | 1 不知道如何能够只调用sql一次(读源文件一次),就根据一定条件生成许多小文件?
比如我有一个文件dataset,包括几年的数据,我可以这么做
%do i=1992 %to 1995;
data year&i;
set dataset;
if yr=&i;
run;
%end;
但是这样我每次都要读dataset一遍,如果dataset大,那会做很多重复操作,不知道有
没有办法解决这个问题? 谢谢大家啦 |
q**j 发帖数: 10612 | 2 you do not need sql
data year1 year2 ... yearn;
set yourdata;
do yr = 1 to n;
if year = yr then output yeari;
end;
run;
something like this. you need to work out the details.
sql is verstile, but slow in many situations. |
s********l 发帖数: 245 | 3 do yr = 1 to n;
if year = yr then output yeari;
end;
run;
但是这个yeari 里面的i没法resolve 呀,它并不是宏? |
q**j 发帖数: 10612 | 4 then you can write n lines. or write a macro to generate the n lines.
【在 s********l 的大作中提到】 : do yr = 1 to n; : if year = yr then output yeari; : end; : run; : 但是这个yeari 里面的i没法resolve 呀,它并不是宏?
|