【发布时间】:2014-06-25 23:21:48
【问题描述】:
我对 SQL 相当缺乏经验,但我正在努力尝试将我的代码压缩为一个查询,以提高效率。下面是我遇到的一个更复杂的问题的简化示例。我在创建汇总组和变量的语法方面遇到问题。在我的例子中,数据存放在几个不同的表中,但连接对我来说不是问题,所以我在这里只创建了一个表。
这是我拥有的数据:
Name Class Wk Score ExCred X
Joe A 1 35 ? 3
Hal A 1 50 5 4
Sal A 1 45 ? 3
Kim B 1 30 5 6
Cal B 1 40 ? 6
Joe A 2 50 ? 2
Hal A 2 40 ? 3
Sal A 2 40 ? 4
Kim B 2 40 5 5
Cal B 2 40 ? 4
我尝试创建的表如下所示:
Class Wk Avg_Score Sum_X
A 1 45 10
B 1 37.5 12
A 2 43.3 9
B 2 42.5 9
因此,数据按班级和周汇总。 avg_score 是每个学生的总和以及“score”和“ExCred”的平均值。 Sum_X 只是每个类的 X 的总和。
我通过使用多个 proc mean 语句在 SAS SQL 中取得了成功,但这很笨拙,而且似乎需要很长时间。必须有一种更优雅的方式来做到这一点。我知道这可能涉及到 group by 声明.....帮助?
谢谢。皮尔
【问题讨论】: