SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 4581|回复: 11
打印 上一主题 下一主题

如何获取一列数据的最大值

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2007-10-9 19:06:29 | 只看该作者

如何获取一列数据的最大值

1、如何获取一列数据的最大值
2、或者获取下一行的数据,与lag功能相反的函数
如果没有这样功能的函数,用另外什么样的方法能实现这个功能呢?
orcale有lead函数,好像sas没有啊?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2007-10-10 08:48:51 | 只看该作者

Re: 如何获取一列数据的最大值

1、SQL中用select语句里的max函数
2、将数据反过来(这是很简单的),用lag函数
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2007-10-10 10:47:20 | 只看该作者

Re: 如何获取一列数据的最大值

反过来比较麻烦,可能sql好一点,可惜我不太会写,还能再详细讲讲啊
比如
v1     v2      v3
1       2        3
3       4        5
6       7        8
建立三个新的变量v1_1 v2_1 v3_1,值分别是6  7   8,即v1 v2 v3 列的最大值,谢谢阿
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2007-10-10 10:56:00 | 只看该作者

Re: 如何获取一列数据的最大值

用proc means求min, max, mean等最合适了
[code:77540]proc means data=a;
var v1-v3;
output out=b;
run;[/code:77540]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2007-10-10 11:24:06 | 只看该作者

Re: 如何获取一列数据的最大值

谢谢,上述程序把最大值或最小值输出到数据集b中了,我想把最大值或最小值用不同的变量同时显示在数据集a中。
另外: 我发了一条短信到你的信箱,问如何获取下一行的数据值,与lag函数的功能想反。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2007-10-10 11:47:56 | 只看该作者

Re: 如何获取一列数据的最大值

再按照你的需求作一下数据变形,然后merge起来不就行了,自己完成吧。

很抱歉,由于类似短信太多,所以一律不接受SAS方面的短信support,只接受论坛不能登陆、修改密码等等论坛事务的短信support。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2007-10-10 14:01:00 | 只看该作者

Re: 如何获取一列数据的最大值

知道谢谢
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
8#
 楼主| 发表于 2007-10-11 07:59:08 | 只看该作者

to 缘来是你

要把结果保留在a中,用sql的insert子句就行了
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
9#
 楼主| 发表于 2007-10-19 23:57:28 | 只看该作者

Re: 如何获取一列数据的最大值

天呢,管理员,你应该声明一下,我就不会发给你这么多信息了。呵呵!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
10#
 楼主| 发表于 2007-10-28 21:36:39 | 只看该作者

Re: 如何获取一列数据的最大值

proc sql;
      select sum(v1) as v11,sum(v2) as v22.sum(v3) as v33
      from  setname;
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-4 14:08 , Processed in 0.069191 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表