全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3801 11
2010-07-23
请教高手,如何实现提取周数据和日数据的结合:即够一周的取周五的数据,不够一周的要取每一天的日数据。该怎样实现?

例如:
201006281
201006291
201006301想要的结果:
201007011201007021
201007021201007092
201007052201007123
201007062201007133
201007072201007143
201007082
201007092
201007123
201007133
201007143



   其中20100629——20100702为一周五天的数据,我只取20100702即周五的数据,同理,下周只取20100709的数据,但是第三周不足五天,所以我每一天都取,我用last.week都取到了最后一天的数据。无法实现我想要的结果,希望高手指点!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-7-23 15:49:08
复制代码
二维码

扫码加我 拉你入群

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

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

2010-7-23 15:51:24
data test;
        input date $ result;
        week=week(input(date,yymmdd10.));
        datalines;
20100628 1     
20100629 1     
20100630 1   
20100701 1   
20100702 1   
20100705 2   
20100706 2   
20100707 2   
20100708 2   
20100709 2     
20100712 3     
20100713 3     
20100714 3  
;
run;


proc sql;
        create table test1 as
        select *,count(*) as days
        from test
        group by week
        order by week,date;
quit;

data test1;
        set test1;
        by week date;
        if days<5 then output;
        else if last.week then output;
run;
二维码

扫码加我 拉你入群

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

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

2010-7-24 23:24:52
3# moonstarpursuit


我用你的方法实现了,非常感谢,但是我又有个新问题想请教一下:
201006281
201006291
201006301
201007011
201007021想要的结果:
201007052201007021
201007062201007092
201007072201007143
201007082201007194
201007092201007205
201007123201007215
201007133201007225
201007143
201007154
201007164
201007174
201007184
201007194
201007205
201007215
201007225


就是我现在的数据中间也会遇到不足一周的情况,但是这些数据我不要,只要最后不足一周的数据,其余都取最后一天的数据,能再帮帮我解决一下吗?非常感谢!
二维码

扫码加我 拉你入群

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

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

2010-7-24 23:29:39
2# hopewell




很感谢你,你的方法很好,但是我现在又遇到了新的问题,你能帮忙再看看吗?
二维码

扫码加我 拉你入群

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

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

2010-7-25 09:59:24
复制代码
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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