benny10 发表于 2010-8-8 21:25 
请问各位前辈,sas有没有办法在同一群组中找出一个最大值呢,那其语法该怎么去写呢?请各位前辈帮帮忙!!
例:
群组
| 数值
| →
| 群组
| 数值
| 最大值
|
1
| 3
| 1
| 3
| 8
|
1
| 5
| 1
| 5
| 8
|
1
| 8
| 1
| 8
| 8
|
2
| 1
| 2
| 1
| 5
|
2
| 5
| 2
| 5
| 5
|
3
| 3
| 3
| 3
| 5
|
3
| 5
| 3
| 5
| 5
|
3
| 1
| 3
| 1
| 5
|
4
| 5
| 4
| 5
| 12
|
4
| 12
| 4
| 12
| 12
|
4
| 8
| 4
| 8
| 12
|
LZ, 下面的程序希望对你有所帮助,仅供参考!
data a;
input group value;
datalines;
1 3
1 5
1 8
2 1
2 5
3 3
3 5
3 1
4 5
4 12
4 8
;
proc sql;
create table b as
select group,value,max(value) as max_value
from a
group by group;
quit;
proc print data=b;
run;
下面是程序运行的结果:
The SAS System
Obs group value max_ value
1 1 8 8
2 1 3 8
3 1 5 8
4 2 5 5
5 2 1 5
6 3 5 5
7 3 3 5
8 3 1 5
9 4 8 12
10 4 12 12
11 4 5 12