全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
33686 19
2014-02-20
在sas中,如何把具体的“年月日”日期改为连续的数字,如将2007-01-01,2007-01-02,……2007-02-01,2007,-02-02……2008-01-01改为1,1,……2,2……13?
谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2014-2-21 14:41:19
试试用mouth函数。例如,原来的日期变量为date,定义新的变量 m=mouth(date)。不知道是不是你想问的问题。希望能帮助到你。
二维码

扫码加我 拉你入群

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

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

2014-2-21 18:08:34
歪丫头 发表于 2014-2-21 14:41
试试用mouth函数。例如,原来的日期变量为date,定义新的变量 m=mouth(date)。不知道是不是你想问的问题。 ...
用month函数只是截取了月份,新的一年开始,它又从1开始计算了。我想要的是把日期转为从1开始的连续数字,这样便于循环计算指标。想依据两个月的日数据计算一个指标。。。不过还是谢谢
二维码

扫码加我 拉你入群

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

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

2014-2-21 23:00:31
data a;
set xx;
m='31dec2006'd;
newdate=int(date-m);
drop m date;
run;
二维码

扫码加我 拉你入群

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

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

2014-2-22 09:59:56
mingfeng07 发表于 2014-2-21 23:00
data a;
set xx;
m='31dec2006'd;
不好意思,“m='31dec2006'd;"这个没看懂,可否解释一下,谢谢。
ps: 我用了比较笨的方法,先用month、year分别提取月份和年份,然后再用if函数,若year=2008则mth=month+12;若year=2009则mth=month+24
二维码

扫码加我 拉你入群

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

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

2014-2-22 11:26:22
mingfeng07 发表于 2014-2-21 23:00
data a;
set xx;
m='31dec2006'd;
不过我的方法还有个问题,如果第一个月不是从1月开始,就比较麻烦了,比如从2007-12-01开始,到2009-12-31结束,就不能按我说的方法做了。so 能否再细说一下你的方法,多谢
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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