作者bugle (低点)
站内Statistics
标题Re: [程式] SAS巨集问题!!麻烦高手解惑,感恩
时间Sun Apr 21 01:55:00 2013
※ 引述《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)
1F:推 ygzjkx:谢谢您!!已解决问题,主要问题为无法确实分辨%if/%then与if/ 04/21 15:01
2F:→ ygzjkx:then的异同 04/21 15:02