请选择 进入手机版 | 继续访问电脑版
楼主: 薇拉就薇
3226 8

[问答] 如何找到每个id的某个变量的最大最小值 [推广有奖]

  • 2关注
  • 0粉丝

高中生

42%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
2 点
信用等级
2 点
经验
337 点
帖子
15
精华
0
在线时间
29 小时
注册时间
2010-4-22
最后登录
2017-10-24

薇拉就薇 发表于 2013-11-14 21:07:50 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
有这样的结构的数据集
data a;
input id $ open_dt yyddmm10. close_dt yyddmm10.;
cards;
a 2013-01-01 2013-01-31
a 2013-02-01 2013-02-28
b 2013-01-01 2013-01-31
b 2013-02-01 2013-02-28
;
run;
现在我想要各个id下面最早的open_dt和最晚的close_dt
就是这样的:
a 2013-01-01 2013-02-28
b 2013-01-01 2013-02-28

请问这要怎么才能做到呢?
二维码

扫码加我 拉你入群

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

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

关键词:最小值 Close cards Input Open 如何

已有 1 人评分热心指数 信用等级 收起 理由
eijuhz + 2 + 2 鼓励积极发帖讨论

总评分: 热心指数 + 2  信用等级 + 2   查看全部评分

Imasasor 发表于 2013-11-14 21:25:34 |显示全部楼层 |坛友微信交流群
proc slq;
select min(open_dt),max(close_dt) from a
group by id;
quit;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
薇拉就薇 + 1 + 1 + 1 谢谢谢谢!

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

使用道具

A072560 发表于 2013-11-14 21:26:20 |显示全部楼层 |坛友微信交流群
方法一:
data a;
input id $ open_dt yymmdd10. close_dt yymmdd10.;
cards;
a 2013-01-01 2013-01-31
a 2013-02-01 2013-02-22
b 2013-01-01 2013-01-31
b 2013-02-01 2013-02-28
;
run;

proc sort data=a out=b;
by id open_dt;
run;

data c;
retain m n;
set b;
by id open_dt;
if first.id then do;
m=0;
n=open_dt;
end;
m=max(m,close_dt);
if last.id;
drop open_dt close_dt;
rename n=open_dt m=close_dt;

proc print;
format open_dt   close_dt yymmddn8.;
run;

方法二:
data a;
input id $ open_dt yymmdd10. close_dt yymmdd10.;
cards;
a 2013-01-01 2013-01-31
a 2013-02-01 2013-02-22
b 2013-01-01 2013-01-31
b 2013-02-01 2013-02-28
;
run;

proc sort data=a out=b ;
by id  open_dt;
run;

proc sort data=a out=b2 ;
by id  descending close_dt;
run;

data c;
merge b b2;
by id;
if first.id;
format open_dt close_dt  yymmdd10. ;

proc print;
run;


还有很多。。。,自己应该可以了。
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
薇拉就薇 + 1 + 1 + 1 你们都好厉害!

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

ynaktank 发表于 2013-11-17 21:28:27 |显示全部楼层 |坛友微信交流群
楼上 A072560 非常棒!Very Good!

使用道具

Imasasor 发表于 2013-11-17 21:29:51 |显示全部楼层 |坛友微信交流群
ynaktank 发表于 2013-11-17 21:28
楼上 A072560 非常棒!Very Good!
楼上的楼上不够棒?
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

使用道具

A072560 发表于 2013-11-17 21:33:00 |显示全部楼层 |坛友微信交流群
哈哈,方法很多,但是楼上的楼上的楼上的楼上相当棒!

使用道具

dckkldream 发表于 2013-11-18 00:18:24 |显示全部楼层 |坛友微信交流群
proc summary data=a nway
   var open_dt close_dt;
   class id;
   output out=a_sum max(close_dt)= min(open_dt)=;
run;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
薇拉就薇 + 1 + 1 + 1 这个最简单!

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

Imasasor 发表于 2013-11-14 21:25
proc slq;
select min(open_dt),max(close_dt) from a
group by id;
显示没有指定任意行,啥意思?

使用道具

Imasasor 发表于 2017-12-25 16:34:17 |显示全部楼层 |坛友微信交流群
944536616@qq.co 发表于 2017-12-11 22:25
显示没有指定任意行,啥意思?
变量名写错了吧

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 01:39