Re: [程式] SAS巨集問題!!麻煩高手解惑,感恩

看板Statistics作者 (低點)時間12年前 (2013/04/21 01:55), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《ygzjkx (安安)》之銘言: : [軟體程式類別]: : SAS : [程式問題]: : 巨集應用 : [軟體熟悉度]: : 中(3個月到1年) : [問題敘述]: : %macro aa(name1=rkmv,name2=rkbm,name3=???,n=10,m=10); : %do i=1 %to &n; : %do j=1 %to &m; : %if &name1=&i. and &name2=&j. %then ret=&name3.&&i.bm&j; ^^^ ^^^^^跟你要的差很多 : %end; : %end; : %mend aa; : 巨集內容想表示如下: : if rkmv=1 and rkbm=1 then ret=mv1bm1; : if rkmv=1 and rkbm=2 then ret=mv1bm2; : ... : if rkmv=10 and rkbm=10 then ret=mv10bm10; : 但我在name3的地方不知道要取什麼! : name3=mv 還是name3=mvibmj 還是mvbm 還是??? : 麻煩高手解惑,謝謝^^ : [程式範例]: : ------------------------------------------------------------------------ 從例子看不大出來確切條件...只能臆測 但如果你的name3固定是取name1與name2末兩碼的串接 則根本不需要name3的存在 還有一點: 請確實分辨%if/%then與if/then的異同 %macro aa(name1=rkmv,name2=rkbm,n=10,m=10); %do i = 1 %to &n; %do j = 1 %to &m; if &name1 = &i and &name2 = &j then ret = %substr(&name1,3)&i%substr(&name2,3)&j; %end; %end; %mend aa; fyi -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.240.235.214 ※ 編輯: bugle 來自: 111.240.235.214 (04/21 01:57)

04/21 15:01, , 1F
謝謝您!!已解決問題,主要問題為無法確實分辨%if/%then與if/
04/21 15:01, 1F

04/21 15:02, , 2F
then的異同
04/21 15:02, 2F
文章代碼(AID): #1HSjPt5o (Statistics)
文章代碼(AID): #1HSjPt5o (Statistics)