楼主: waitalone11
2113 6

如何找出最早时间【已解决】 [推广有奖]

  • 0关注
  • 1粉丝

博士生

88%

还不是VIP/贵宾

-

威望
0
论坛币
150 个
通用积分
0.0034
学术水平
7 点
热心指数
9 点
信用等级
3 点
经验
21116 点
帖子
93
精华
0
在线时间
637 小时
注册时间
2008-12-14
最后登录
2022-4-13

楼主
waitalone11 发表于 2010-3-2 11:07:16 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据集格式如下:
种类    年份   时间
a         2007     01mar 2007
a          2007     05mar2007
a          2008      01apr2008
a         2008      05apr 2008
a         2009       01jan2009
a        2009       04jan2009
b         2007     01mar 2007
b        2007     05mar2007
b       2008      01apr2008
b        2008      05apr 2008
b        2009       01jan2009
b       2009       04jan2009
我想知道每个类每年出现的最早时间?谢谢!每个类每年对应时间很多。
二维码

扫码加我 拉你入群

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

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

关键词:已解决 Apr Jan Mar 数据集 时间

回帖推荐

bobguy 发表于3楼  查看完整内容

I give a SQL approach. The results should be the same as that from 醉_清风's. See below, data a; input id:$2. year:4. tme:date9.; cards; a 2007 01mar2007 a 2007 05mar2007 a 2008 01apr2008 a 2008 05apr2008 a 2009 01jan2009 a 2009 04jan2009 b 2007 01mar2007 b 2007 05 ...

醉_清风 发表于2楼  查看完整内容

data a; input id:$2. year:4. tme:date9.; cards; a 2007 01mar2007 a 2007 05mar2007 a 2008 01apr2008 a 2008 05apr2008 a 2009 01jan2009 a 2009 04jan2009 b 2007 01mar2007 b 2007 05mar2007 b 2008 01apr2008 b 2008 05apr2008 b 2009 01jan2009 b 200 ...

本帖被以下文库推荐

沙发
醉_清风 发表于 2010-3-2 11:13:27
data a;
        input id:$2. year:4. tme:date9.;
        cards;
a         2007     01mar2007
a          2007     05mar2007
a          2008      01apr2008
a         2008      05apr2008
a         2009       01jan2009
a        2009       04jan2009
b         2007     01mar2007
b        2007     05mar2007
b       2008      01apr2008
b        2008      05apr2008
b        2009       01jan2009
b       2009       04jan2009
;
run;

proc sort data=a out=b;
        by id year tme;
run;

data c;
        set b;
        by id year tme;
        format tme date9.;
        if first.year;
run;
试试看
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

从来不需要想起 永远也不会忘记

藤椅
bobguy 发表于 2010-3-2 12:01:15
waitalone11 发表于 2010-3-2 11:07
数据集格式如下:
种类    年份   时间
a         2007     01mar 2007
a          2007     05mar2007
a          2008      01apr2008
a         2008      05apr 2008
a         2009       01jan2009
a        2009       04jan2009
b         2007     01mar 2007
b        2007     05mar2007
b       2008      01apr2008
b        2008      05apr 2008
b        2009       01jan2009
b       2009       04jan2009
我想知道每个类每年出现的最早时间?谢谢!每个类每年对应时间很多。
I give a SQL approach. The results should be the same as that from 醉_清风's. See below,

data a;
        input id:$2. year:4. tme:date9.;
        cards;
a         2007     01mar2007
a          2007     05mar2007
a          2008      01apr2008
a         2008      05apr2008
a         2009       01jan2009
a        2009       04jan2009
b         2007     01mar2007
b        2007     05mar2007
b       2008      01apr2008
b        2008      05apr2008
b        2009       01jan2009
b       2009       04jan2009
;
run;

proc sql;
   select id, year, min(tme) as min_time format=yymmdd10.
   from a
   group by 1,2
   order by 1,2
    ;
    quit;
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

板凳
醉_清风 发表于 2010-3-2 12:05:41
又学习了 谢谢bobguy
从来不需要想起 永远也不会忘记

报纸
sdu0632 发表于 2010-3-2 12:14:46
清风的code修改如下 也可以 得到 正确结果。 只是我习惯这样写,顺便说下。

data c;
        set b;
        by id year ;
        format tme date9.;
        if first.year;
run

地板
waitalone11 发表于 2010-3-2 15:45:33
都是很好的方法,谢谢楼上所有的高人了!

7
crackman 发表于 2010-3-3 07:43:20
学习到了 都是牛人啊

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

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