使用 proc sql 在没有唯一标识符的有序 SAS table 中一次求和 5 行

Sum 5 rows at a time in an ordered SAS table with no unique identifier using proc sql

我正在使用 SAS table,我在其中订购了需要以 5 为间隔求和的数据。我没有可用于 group by 语句的唯一 ID,而且我正在努力寻找解决方案。

说我有这个 table


号码姓名 X Y


   1    Susan   2   1     
   2    Susan   3   3     
   3    Susan   3   3     
   4    Susan   4   1     
   5    Susan   1   2     
   6    Susan   1   1     
   7    Susan   1   1     
   8    Susan   2   4     
   9    Susan   1   5     
  10    Susan   4   2     
   1    Steve   2   4     
   2    Steve   2   3     
   3    Steve   1   2     
   4    Steve   3   5     
   5    Steve   1   1     
   6    Steve   1   3     
   7    Steve   2   3     
   8    Steve   2   4     
   9    Steve   1   1     
  10    Steve   1   1     

我希望输出看起来像


号码姓名 X Y


   1-5    Susan   13  10     
   6-10   Susan   9   13     
   1-5    Steve   9   15     
   6-10   Steve   7   12     

有没有一种简单的方法可以使用 proc sql 获得这样的输出?谢谢!

试试这个:

 proc sql;
 select ceil(Number/5) as Grouping, Name, sum(X), sum(Y)
 from have
 group by Name, Grouping;
 quit;