看板 Statistics 關於我們 聯絡資訊
%macro aa(num); %do i=1 %to # data tem&i; do i=1 to &i; do j=1 to &i; col=i; row=j; multi=i*j; output; end; end; run; %end; %mend; 反正你B還要再寫一次 與其呼叫來呼叫去 不如 aa寫這個 BB就寫 %include "\aa.sas"; %aa(100000); 任你填數字 ※ 引述《Maninck (我是大天才^o^/)》之銘言: : [軟體程式類別]: : 入軟體程式類別 SAS : [程式問題]: : 資料處理 : [軟體熟悉度]: : 新手(不到1個月) : [問題敘述]: : 我寫了兩隻程式分別為aa.sas及bb.sas,我想讓bb直接呼叫aa的結果存起來。 : 但目前遇到的一個大問題是,他的變數好像都是共用的 : bb裡面的變數k,如果宣告成i,他就會跟aa裡的i混亂掉, : 不知道能不能讓他們同樣都是i,但卻不會亂掉。 : 也就是說我想做到像java那樣可以模組間的變數不會互相干擾。 : [程式範例]: : %MACRO aa (num); : DATA abc; : %DO i=1 %TO # : %DO j =1 %TO # : col = &i; : row = &j; : muti = &i*&j; : output; : %END; : %END; : RUN; : %MEND; : %INCLUDE 'E:\TEST\source\aa.sas'; : %MACRO bb (num); : %DO k=1 %TO # : %aa(&k); : DATA tmp&k; : SET abc; : RUN; : %END; : %MEND; : ----------------------------------------------------------------------------- -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 42.72.25.47
Maninck:喔喔~~因為我只是拿這個來做試驗,如果試驗成功,我想把他 07/31 18:54
Maninck:跟java一樣把很多小東西做成物件,這樣就可以重覆使用了 07/31 18:55
Maninck:但現在就卡在,不知道怎麼做到跟一般的程式可以回傳物件 07/31 18:56