SAS:计算每组中的总和

时间:2015-06-04 14:17:33

标签: sas

data cumsum;
   set temp;
   by group;
   if first.group then sum = 0;
   sum + x
   if last.group then output;
run;

上面的代码计算每个组中的总和,但如果我将sum + x更改为sum = sum + x,则结果不正确。任何人都可以解释sum + xsum = sum + x之间的区别吗?

1 个答案:

答案 0 :(得分:2)

代码运行时,sum+x;表示法添加了隐式retain语句。

如果使用sum = sum + x;表示法,则必须手动明确说明retain语句。即

data cumsum;
  set temp;
  by group;
  retain sum 0;
  if first.group then sum = 0;
  sum = sum + x
  if last.group then output;
run;