每两次观察后打印总和

时间:2016-08-10 16:51:58

标签: sas

我们有这样的数据集

data a;
   length id 8 actlevel $6 fee 8;
   infile datalines;
   input id actlevel fee;
   datalines;
1 High 85.20
2 High 124.80
3 Low 149.75
4 Medium 149.75
5 Low 124.80
;
run;

我们必须打印这样的输出

id  actlevel fee

1    High   85.20
2    High   124.80
Act Level  210.0

3 Low 149.75
4 Low 124.80
Act Level 274.55

5 Medium 149.75    
Act level 634.30

我正在使用代码:

proc sort data=a;
   by actlevel;
run;

data total;
   set a;
   by actlevel;

   if first.actlevel then
      sum1=0;
   sum1+fee;

   if last.actlevel then
      output;
   drop fee;
run;

proc print data=total;
   sum sum1;
run;

前两次观察的第一次打印总和(通过行动级别)&然后在所有5次观察的最后一次打印总和中打印另外两次(通过行动级别)观察的总和。

1 个答案:

答案 0 :(得分:0)

我认为您不需要在数据步骤中进行任何预处理,以使输出类似于您指定的输出。 onreadystatechange程序有proc print这样的工作。

sumby