SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 569|回复: 4
打印 上一主题 下一主题

如何取出一列的第一条和最后一条记录,存放在变量中?

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2011-2-11 22:29:25 | 只看该作者

如何取出一列的第一条和最后一条记录,存放在变量中?

DATASET 可以简化如下,
ID         startmonth
1        198011
1        198012
1        198101
1        198102
1        198103
2        201101
2        201102
2        201103
2        201104

请问如何获得当ID=1 或者 2 时, STARTMONTH列的第一个条和最后一条记录集: 也就是当ID=1时 , STARTMONTH 的第一条记录(198011) 和最后一条记录(198103)都可以取出放在变量中;对ID=2也是进行同样的操作。主要是想根据ID 分类,来计算每组的月份差 ,因为我的时间有不连续情况存在。
多谢 <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2011-2-11 23:41:42 | 只看该作者

Re: 如何取出一列的第一条和最后一条记录,存放在变量中?

[code:3fi9svcl]
data a;
        input id $ startmonth;
datalines;
1 198011
1 198012
1 198101
1 198102
1 198103
2 201101
2 201102
2 201103
2 201104
;
run;
proc sort data=a;
        by id;
run;
data b;
        set a;
        by id;
        if first&#46;id or last&#46;id then output;
run;
[/code:3fi9svcl]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2011-2-12 00:19:31 | 只看该作者

Re: 如何取出一列的第一条和最后一条记录,存放在变量中?

多谢, 好像STARTMONTH的第一个条记录和最后一条记录都没有显示呀?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2011-2-12 01:04:53 | 只看该作者

Re: 如何取出一列的第一条和最后一条记录,存放在变量中?

@happy6886
有啊
[code:3fickur1]
Obs    id    startmonth
1     1       198011
2     1       198103
3     2       201101
4     2       201104
[/code:3fickur1]
回复 支持 反对

使用道具 举报

0

主题

0

帖子

2

积分

新手上路

Rank: 1

积分
2
5#
发表于 2011-2-14 11:41:29 | 只看该作者

Re: 如何取出一列的第一条和最后一条记录,存放在变量中?

为什么不用sql 来by id算max(startmonth)-min(startmonth)?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-12 20:26 , Processed in 0.067837 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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