Re: [程式] SAS巨集問題!!麻煩高手解惑,感恩
※ 引述《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
04/21 15:01, 1F
→
04/21 15:02, , 2F
04/21 15:02, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):