全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
9675 5
2015-06-10
请教个日期转化问题。
我有个连续的日期数据,2015年1月1日到今天的。
我想把每个日期对应到各自所在周的周一或周日。
sas里面怎么弄啊?

二维码

扫码加我 拉你入群

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

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

全部回复
2015-6-10 12:09:12
你的意思是只导出是周一或周日的日期么

如果是这样可以利用 where  weekday(variable_name) in (1,2);
1代表星期天 2代表星期一
二维码

扫码加我 拉你入群

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

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

2015-6-10 13:05:58
sas那个石家庄人 发表于 2015-6-10 12:09
你的意思是只导出是周一或周日的日期么

如果是这样可以利用 where  weekday(variable_name) in (1,2);  ...
不是这个意思,我的意思如下:(相当于新增一个变量)
6.1对应6.1
6.2对应6.1
6.3对应6.1
。。。。
6.7对应6.1
6.8对应6.8
6.9对应6.8
二维码

扫码加我 拉你入群

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

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

2015-6-10 13:14:14
tyw226 发表于 2015-6-10 13:05
不是这个意思,我的意思如下:(相当于新增一个变量)
6.1对应6.1
6.2对应6.1
我明白了 感觉用retain 结合 一些if 语句应该可以实现   

但是这些日期只能对应其中一天不是么 万一那周既有周一又有周日该怎么办呢
二维码

扫码加我 拉你入群

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

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

2015-6-11 14:02:39
weekday(date)返回的是日期date是当周第几天,SAS默认星期日是当周第一天。
例:
data x;
format date ddmmyy8. date2 ddmmyy8.;
input date ddmmyy8.;
week=weekday(date);
date2=date-week+1;
cards;
01062015
02062015
03062015
04062015
05062015
06062015
07062015
08062015
09062015
;
run;

如果要每周的星期一,date2那里加2就可以了。
二维码

扫码加我 拉你入群

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

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

2015-6-11 15:34:49
letsgoaway 发表于 2015-6-11 14:02
weekday(date)返回的是日期date是当周第几天,SAS默认星期日是当周第一天。
例:
data x;
谢谢,我后来就是这么搞定的。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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