全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4427 13
2009-03-11

各位高手:

       我的题目是比较基金分红前后三十天内业绩有无显著区别,目前的数据有:

       基金每日的业绩,所在的具体日期(tdatec),分红的具体日期ddatec(均已经转换为日期型)

       现在就想输出分红日前后三十天内的业绩数据(所有数据已经按代码和日期排好序)。

     格式大致如下:

     symbol     sname           unv               tdatec            ddatec

     000001    华夏成长        1            18DEC2001           .

      000001    华夏成长       1             18DEC2001           .

      ........

      000001    华夏成长     1.065        27JUN2002         27JUN2002 

unv代表基金单位净值,不是分红日ddatec就为缺失值,上例中2002.6.27是分红日,现在想要输出这一天前后各三十天的记录怎么办?

[em06]

[此贴子已经被作者于2009-3-11 15:12:20编辑过]

二维码

扫码加我 拉你入群

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

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

全部回复
2009-3-11 15:51:00
obs  obsfirst
二维码

扫码加我 拉你入群

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

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

2009-3-11 21:46:00
可以尝试利用excel的数据汇总功能。
二维码

扫码加我 拉你入群

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

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

2009-3-11 22:12:00

晕,还excel呢,

可以用SQL比较简单

proc sql;

 create table newdata as

 select distinct * from dataset

   group by symbol,sname

   having max(ddatec)-29<=tdatec<=max(ddatec)+30;

quit;

二维码

扫码加我 拉你入群

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

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

2009-3-11 22:55:00
Do you&nbsp;mean you want use ORDER BY&nbsp;instead of&nbsp;GROUP BY?
二维码

扫码加我 拉你入群

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

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

2009-3-12 00:45:00
谢谢,但是这个作为比较的日期不是最后一天,max(ddatec)应该是最后的那天吧?是其中一天的前后三十天啊
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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