- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 12694 个
- 通用积分
- 7.4547
- 学术水平
- 571 点
- 热心指数
- 573 点
- 信用等级
- 476 点
- 经验
- 19687 点
- 帖子
- 802
- 精华
- 0
- 在线时间
- 594 小时
- 注册时间
- 2008-7-22
- 最后登录
- 2019-4-20
|
- /* loop needs to be used inside data step or macro */
- %let x=a;
- %let y=1 2 4 5;
- %let x=a0;
- %let y=1 2 4 5;
- %let xx=%substr(&x,1,1);
- %let z =&xx%scan(&y,1) &xx%scan(&y,2) &xx%scan(&y,3) &xx%scan(&y,4);
- %macro aaa(x=, y=);
- %global zz;
- %let xx = %substr(&x,1,1);
- %let nz = %sysfunc(countw(&y));
- %do i=1 %to &nz;
- %let zz=&zz &xx%scan(&y, &i);
- %end;
- %put zz=&zz;
- %mend;
- %aaa(x=b0, y=1 2 5 6)
- data _null_;
- length z $20;
- nz = countw("&y");
- do i = 1 to nz;
- z = catx(' ', z, cats(substr("&x",1,1), scan("&y", i)));
- end;
- call symput('zzz', z);
- run;
复制代码
|
|