使用 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;
我正在使用 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;