楼主: carol1222
4991 5

[原创博文] 嵌套宏里面的宏变量解析出错 [推广有奖]

  • 5关注
  • 0粉丝

硕士生

41%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1283 点
帖子
157
精华
0
在线时间
74 小时
注册时间
2010-5-6
最后登录
2014-11-13

楼主
carol1222 发表于 2012-6-15 11:29:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
%macro repeat;
%do k=1 %to 10;
...
%macro test;
%let temp_data=csm_&k.;
%if temp_data=csm_1 %then %do;
data add;
input q3 count percent;
datalines;
1 0 0
;
run;
data q3;
set add q3;
run;
%end;
%mend;

...
%end;
%mend;

我在macro repeat里面嵌套了几个macro,其中一个是test,但是报错说%let temp_data=csm_&k.;中的k没有解析。这是为什么呢?要怎么办呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:percent repeat Macro Input Count percent repeat count

沙发
carol1222 发表于 2012-6-15 14:18:59
顶一下!!!
花有再开日 人无再少年

藤椅
gaotao0727 发表于 2012-6-15 18:03:17
不可以引用一个宏变量来对一个新宏变量赋值~~
衣带渐宽终不悔,为伊消得人憔悴~~

板凳
webgu 发表于 2012-6-15 21:24:20
建议不要在MACRO里嵌套定义MACRO.
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

报纸
李金玲 发表于 2012-6-16 18:29:08
你上面的宏明显有逻辑错误,你的第一个%end 在macro test 里没有对应的%do, 你的这个%end 是对应不到外面的那层macro repeat 里的%do 的。建议你改成如下:
%macro repeat;
%do k=1 %to 10;

%macro tt;
%put k=&k;
%mend;
%tt;
%end;

%mend;

%repeat;
李经纶

地板
pl172231 发表于 2012-6-16 20:38:39
建议在外面定义宏,你那个语句是错的

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-5 17:58