全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
25258 9
2011-03-20
悬赏 50 个论坛币 已解决
有人提出,
“d2=intnx('month','20nov2002'd,1);
变量d2的值就是20nov2002一个月以后的日期;20dec2002”
http://zhidao.baidu.com/question/158176372.html

我在一个程序中这样作,却出不来结果,程序见附件1.
我略作修改,变为d2=intnx('month','20nov2002'd,_n_+1);
结果便出来了,见附件2.
但并不是像他所说的开始时间是2002年12月,而是2003年1月。
为什么呢?,_n_+1究竟指往后拨1期,如从11月到12月,还是拨2期,由11月到下年1月?

附件1.doc

大小:20 KB

 马上下载

附件2图.doc

大小:24 KB

 马上下载

最佳答案

Actree 查看完整内容

我run了一下你的code, 并加了以下的code, 都是显示20dec2010, 所以你的code应该没有错。关于_N_+1, 如果是data step 第一次iteration, 就往前加1+1=2个月。你的format以前是monyy所以就只能显示1月2003 (不会精确到天数)。
二维码

扫码加我 拉你入群

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

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

全部回复
2011-3-20 10:45:48
我run了一下你的code, 并加了以下的code, 都是显示20dec2010, 所以你的code应该没有错。
复制代码
关于_N_+1, 如果是data step 第一次iteration, 就往前加1+1=2个月。你的format以前是monyy所以就只能显示1月2003 (不会精确到天数)。
二维码

扫码加我 拉你入群

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

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

2011-3-20 13:43:43
把这个run一下,应该出现正确答案:
复制代码


我想可能你的其他code把d2的值给改了。
二维码

扫码加我 拉你入群

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

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

2011-3-20 14:00:12
1、你把date的格式设置的不太合理,正如楼上设成date9.,就会显示全日月年。
2、intnx你这里设成了month,而且为1,所以d2的日期只能显示每个月的1号,即d2=01DEC2002,而不会是20DEC2002。
3、_n_是自动变量,表示观测的序号,如第一个观测_n_=1,表示为d2=intnx('month','20nov2002'd,_n_+1),这里_n_+1等于2,即d2=intnx('month','20nov2002'd,2),结果为01JAN2003,依次类推。
二维码

扫码加我 拉你入群

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

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

2011-3-21 22:13:10
谢谢,结束。
二维码

扫码加我 拉你入群

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

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

2012-4-6 16:07:40
good!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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