楼主: benny10
8571 9

[原创博文] 找最大值! [推广有奖]

  • 0关注
  • 0粉丝

硕士生

4%

还不是VIP/贵宾

-

威望
0
论坛币
114 个
通用积分
0
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
2230 点
帖子
99
精华
0
在线时间
67 小时
注册时间
2007-6-23
最后登录
2020-3-25

楼主
benny10 发表于 2010-8-8 21:25:23 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请问各位前辈,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

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:最大值 有没有 最大值

回帖推荐

hopewell 发表于5楼  查看完整内容

本帖被以下文库推荐

沙发
bobguy 发表于 2010-8-8 21:35:56
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


Here is an example.

data t1;
   do i=1 to 10;
     g=ceil((3*ranuni(1)));
     x=round((10*ranuni(1)));
     output;
    end;
run;

proc print; run;

proc sql;
   select *, max(x) as max_x
   from t1
   group by g
   order by 2,1
   ;
   quit;

藤椅
hopewell 发表于 2010-8-8 21:36:43
  1. data raw;
  2.         input group value;
  3. datalines;
  4. 1 3
  5. 1 5
  6. 1 8
  7. 2 1
  8. 2 5
  9. 3 3
  10. 3 5
  11. 3 1
  12. 4 5
  13. 4 12
  14. 4 8
  15. ;
  16. data out;
  17.         do _n_=1 by 1 until(last.group);
  18.                 set raw;
  19.                 by group;
  20.                 max=max(value,max);
  21.         end;
  22.         do _n_=1 to _n_;
  23.                 set raw;
  24.                 output;
  25.         end;
  26. run;
复制代码

板凳
benny10 发表于 2010-8-9 01:37:58
不好意思,那sas要如何设定group呢,其语法该怎么去写呢?请各位前辈帮帮忙!!
例:
date        →        data        group
20010102                20010102        1
20010102                20010102        1
20010102                20010102        1
20010102                20010102        1
20010103                20010103        2
20010103                20010103        2
20010103                20010103        2
20010104                20010104        3
20010104                20010104        3
20010104                20010104        3
20010104                20010104        3

报纸
hopewell 发表于 2010-8-9 08:28:56
  1. data raw;
  2.         input date yymmdd8. value;
  3.         format date yymmdd10.;
  4. datalines;
  5. 20010102 3
  6. 20010102 5
  7. 20010102 8
  8. 20010102 1
  9. 20010103 5
  10. 20010103 3
  11. 20010103 5
  12. 20010104 1
  13. 20010104 5
  14. 20010104 12
  15. 20010104 8
  16. ;
  17. data out;
  18.         do _n_=1 by 1 until(last.date);
  19.                 set raw;
  20.                 by date;
  21.                 max=max(value,max);
  22.         end;
  23.         do _n_=1 to _n_;
  24.                 set raw;
  25.                 output;
  26.         end;
  27. run;
复制代码

地板
zhanghy007 发表于 2010-8-9 08:56:39
proc sql;
create table out1
as
select group,value,max(value) as max  from raw       
group by group
;
run;

7
rdzr 发表于 2010-8-9 09:15:27
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

8
注册吧 发表于 2010-8-23 16:47:26
dingg.........
纸上得来终觉浅,绝知此生要躬行

9
echola 发表于 2014-2-13 19:14:50
好贴 顶!

学习了

10
huntdreamer 发表于 2014-2-24 10:36:01
习惯用SQL过程

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 14:01