全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2189 3
2007-12-25
<p></p><p>难道在宏里面不能写多个data步吗?j变量哪里错了?</p><p>%macro yi; /*calculate average per group*/<br/>%do i=1 %to 228;<br/> data;<br/>   do j=0 to 17;<br/>   y&j.=0;<br/>   t&j.=0;<br/>   av&j.=0;<br/>   end;<br/>run;<br/>data sti.sort&i.;<br/>set sti.yield5;<br/>set sti.y10sort&i.;</p><p>  %do k=0 %to 17;<br/>  if p=&k. then do<br/>       y&k.=y&k.+c&i.;<br/>    t&k.=t&k.+1;<br/>    end;<br/>  %end;<br/>run;<br/>data sti.sort&i.;<br/>  %do r=0 %to 17;<br/> av&r.=y&r./t&r.;<br/> %end;<br/>keep code p y&i. c&i. t0-t17 av0-av17;<br/>run;<br/>%End;<br/>%MEND yi;<br/>%yi;</p>

[此贴子已经被作者于2007-12-25 17:51:49编辑过]

二维码

扫码加我 拉你入群

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

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

全部回复
2012-2-6 21:06:33
I want to know the solution to this problem
二维码

扫码加我 拉你入群

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

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

2012-2-6 22:14:12
y&j.=0;
   t&j.=0;
   av&j.=0;
是什么意思?J不是一个宏变量
二维码

扫码加我 拉你入群

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

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

2012-2-19 01:22:06
声明宏变量不能像下面这种方式,而是用%LET
y&j.=0;
   t&j.=0;
   av&j.=0;

还有宏变量运算不能用简单的符号运算,而是需要用函数%EVAL()进行运算
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群