|
地板

楼主 |
发表于 2005-3-23 23:59:57
|
只看该作者
hoho,i made it.
data sales;
input
sale200301 sale200302 sale200303 sale200304 sale200305 sale200306
sale200307 sale200308 sale200309 sale200310 sale200311 sale200312
sale200401 sale200402 sale200403 sale200404 sale200405 sale200406
sale200407 sale200408 sale200409 sale200410 sale200411 sale200412;
cards;
1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12
;
run;
%macro ahuige(down,up);
sale&down
%do i=%eval(&down+1) %to &up;
%if 01<=%sysfunc(substr(&i,5,2)) and %sysfunc(substr(&i,5,2))<=12 %then ,sale&i;
%end;
%mend;
%macro sale(down,up);
proc sql;
create table newsale as
select %ahuige(&down,&up)
from sales;
%mend;
%sale(200306,200406)
proc print;
run; |
|