全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4093 9
2015-12-09
悬赏 20 个论坛币 已解决
大家好,我想用sas实现如下目的,不会写程序,敬请各位帮帮忙,先谢过了!
namestkcdrptdt1rptdt2
张三000002

2008/8/4

张三000002

2009/11/5

张三000002

2010/8/10

李四000002

2007/10/30

李四000002

2008/10/28

李四000002

2009/1/8



我想以name和stkcd为分组依据,新生成变量rptdt2,使得各个rptdt2等于每组的第一个rptdt1,这样我能求每个rptdt1和该组第一个rptdt1之间相差的天数。



麻烦各位了,谢谢~


P.S.:附件是全部的数据,如有需要,烦请下载。

temp.dta

大小:2.3 MB

 马上下载

最佳答案

yafeijojy 查看完整内容

data a; input name$ stock$ d yymmdd10.; format d yymmdd10.; cards; 张三 000002 20080804 张三 000002 20091105 张三 000002 20100810 李四 000002 20071030 李四 000002 20081028 李四 000002 20090108 ; run; data b; newd=.; set a;run; proc sort data=b; by name d; run; data c; set b; format newd yymmdd10.; by name; if first.name then newd=d; run; data d(keep=name newd);set c; where ...
二维码

扫码加我 拉你入群

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

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

全部回复
2015-12-9 19:46:04
data a;
input name$ stock$ d yymmdd10.;
format d yymmdd10.;
cards;
张三 000002 20080804
张三 000002 20091105
张三 000002 20100810
李四 000002 20071030
李四 000002 20081028
李四 000002 20090108
;
run;
data b;
newd=.;
set a;run;
proc sort data=b;
by name d;
run;
data c;
set b;
format newd yymmdd10.;
by name;
if first.name then newd=d;
run;
data d(keep=name newd);set c;
where newd^=.;
run;
proc sort data=a;
by name d;
run;
data m;merge a d;by name;run;
二维码

扫码加我 拉你入群

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

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

2015-12-9 20:29:55
我是来凑凑人气的
fzdkfpl.jimdo.com,chengdufpl.jimdo.com,changshafpl.jimdo.com,hefeifpl.jimdo.com,kmfpl.jimdo.com,haerbfpl.jimdo.com,sjzdkfpl.jimdo.com,chongqindkfpl.jimdo.com,ncdkfpl.jimdo.com,jinandkfpl.jimdo.com   
二维码

扫码加我 拉你入群

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

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

2015-12-9 20:45:12
木有人来自己顶一下
二维码

扫码加我 拉你入群

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

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

2015-12-9 20:45:45
自己顶一下啦~~~
二维码

扫码加我 拉你入群

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

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

2015-12-9 21:48:51
顶~~~~
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群