CF11
CF11

Reputation: 109

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

I'm working with a SAS table where I have ordered data that I need to sum in intervals of 5. I don't have a unique ID I can use for the group by statement and I'm struggling to find a solution.

Say I have this table


Number Name 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     

I'd want the output to look like


Number Name X Y


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

Is there an easy way to get output like this using proc sql? Thanks!

Upvotes: 0

Views: 89

Answers (1)

user133631
user133631

Reputation: 228

Try this:

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

Upvotes: 1

Related Questions