全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
8546 2
2018-07-19
如下测试程序,我想实现,每一个i下,如果只有一个j,则suma就是a,如果每一个i下,有多个j,则suma就要求算出a的和。但是如下测试程序完成的结果,suma完全和a相同。SAS初学者,实在搞不清楚,请大家帮忙指出问题。谢谢。
data test_retain;
do i=1 to 10;
do j=1 to 5;
a=rannor(1);
output;
end;
end;
run;
data test_retain;
set test_retain;
by i j;
retain suma;
if first.j and last.j then do;
  suma=a;
  output;
  end;
  else do ;
    if  first.j then suma=a;
    else suma=sum(a,suma);
    if last.j then output;
  end;
run;
二维码

扫码加我 拉你入群

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

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

全部回复
2018-7-20 10:17:11
有些日子没用SAS了。 但是那个retain 是用来保留input 语句里的初始数值的。 你不是写了个loop 吗? 那个loop 不断循环,被保留的数值也跟着循环运算。 如果没有retain 那就不变了。
二维码

扫码加我 拉你入群

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

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

2018-7-20 10:17:42
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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