楼主: orlong
6889 15

[问答] 拜求高手:如何计算两条记录之间的日期差 [推广有奖]

  • 1关注
  • 0粉丝

初中生

19%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
179 点
帖子
11
精华
0
在线时间
8 小时
注册时间
2008-12-23
最后登录
2014-5-5

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
NO

Code

Code_Date

100023

TS1

2012/4/19

100023

TS2

2012/4/23

100028

TS1

2012/4/25

100028

TS2

2012/4/27

100055

TS1

2012/5/2

100055

TS2

2012/5/4

100059

TS1

2012/5/7

100059

TS2

2012/5/8

100059

TS2

2012/5/9

100073

TS1

2012/5/2

100073

TS2

2012/5/4

数据如上,想求每个NO(编号)的TS1到TS2的时间差(即同一NO的TS2的Code_Date减TS1的Code_Date),用SAS处理,是不是得重新处理上述数据的输入结构的?
拜求高手指点
二维码

扫码加我 拉你入群

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

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

关键词:求高手 decode code date SOSO 计算 记录 如何

回帖推荐

webgu 发表于2楼  查看完整内容

本帖被以下文库推荐

沙发
webgu 发表于 2012-5-29 20:10:32 |只看作者 |坛友微信交流群
  1. data indsn;
  2. input  NO        Code $  Code_Date  yymmdd10.;
  3. datalines;
  4. 100023 TS1 2012/4/19
  5. 100023 TS2 2012/4/23
  6. 100028 TS1 2012/4/25
  7. 100028 TS2 2012/4/27
  8. 100055 TS1 2012/5/2
  9. 100055 TS2  2012/5/4
  10. 100059 TS1 2012/5/7
  11. 100059 TS2 2012/5/8
  12. 100059 TS2 2012/5/9
  13. 100073 TS1 2012/5/2
  14. 100073 TS2 2012/5/4
  15. ;

  16. proc sort data=indsn;
  17.   by no code;
  18. run;

  19. data outdsn;
  20. retain date1 date2;
  21. format date1 date2 yymmdd10.;
  22.   set  indsn;
  23.   by no;
  24. if first.no then date1=code_date;
  25. if last.no then  do;
  26. date2=code_date;
  27. inter_date=date2-date1;
  28. output;
  29. end;
  30. run;
复制代码
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

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

SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

使用道具

藤椅
orlong 发表于 2012-5-29 20:40:23 |只看作者 |坛友微信交流群
webgu 发表于 2012-5-29 20:10
拜服,学习了

使用道具

板凳
ryuuzt 发表于 2012-6-1 08:43:24 |只看作者 |坛友微信交流群
webgu 发表于 2012-5-29 20:10
学习了。谢谢。

使用道具

报纸
luijb 在职认证  发表于 2012-6-3 11:46:50 |只看作者 |坛友微信交流群
这么复杂,用lag函数不行吗?
西格玛临床统计服务工作室http://www.sigma-stat.com/,luijb@163.com

使用道具

地板
heidou1987 发表于 2012-6-3 22:25:10 |只看作者 |坛友微信交流群
是不是使用difdat函数也可以啊

使用道具

7
webgu 发表于 2012-6-4 08:32:18 |只看作者 |坛友微信交流群
luijb 发表于 2012-6-3 11:46
这么复杂,用lag函数不行吗?
每个ID的纪录数不一定相同,你可以试试。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

使用道具

8
luijb 在职认证  发表于 2012-6-5 09:55:19 |只看作者 |坛友微信交流群
把first那一行的差值定义为空就行了,ID的纪录数对结果没有影响。
西格玛临床统计服务工作室http://www.sigma-stat.com/,luijb@163.com

使用道具

9
webgu 发表于 2012-6-5 10:13:48 |只看作者 |坛友微信交流群
luijb 发表于 2012-6-5 09:55
把first那一行的差值定义为空就行了,ID的纪录数对结果没有影响。
你仔细观察下数据吧。不是简单的TS1,TS2的重复。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

使用道具

10
vslanqiu 发表于 2012-6-5 17:06:23 |只看作者 |坛友微信交流群
sort完后,用proc transpose,直接两个一减,我的一点小思路,别见笑了

使用道具

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

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

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

GMT+8, 2024-4-25 08:07