推 tew:by firm;就好了 不用使用macro 05/11 22:48
[軟體程式類別]:
SAS
[程式問題]:
不同公司不知道如何跑一個相同的巨集
[軟體熟悉度]:
新手(不到1個月)
[問題敘述]:
例如檔案sp形式如下:有26間公司
code time r
A 200001 1
.
A 201312 2
B 200001 5
.
B 201312 6
.
Z 201312 8
想分開讀取每間公司去跑迴圈,可是不知道怎麼寫。
但是到data sp1 步驟檔案就會空白。
[程式範例]:
-----------------------------------------------------------------------------
%let de=26;
%macro JT(h);
%do j=1 %to &de;
data _null_;
set test;
if _n_=&j then do;
call symput('ss', variable);
end;
run;
data sp1;
set sp;
if code='&ss' then output;
run;
%end;
%do i=1 %to &h;
data f;
set sp1;
r&i=lag&i(r);
if r&i>0 then rs=1; else rs=-1;
run;
proc reg data=f outest=para tableout noprint;
model r=rs/white;
run;
proc append base=pic data=para;
quit;
%end;
%mend;
%JT(60);
http://bbs.pinggu.org/forum.php?mod=viewthread&tid=3038054&extra=
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 134.208.22.38
※ 文章網址: http://www.ptt.cc/bbs/Statistics/M.1399670728.A.18C.html
※ 編輯: Harryborison (134.208.22.38), 05/10/2014 10:08:46