SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 965|回复: 4
打印 上一主题 下一主题

问个关于日期的问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2011-12-4 10:16:21 | 只看该作者

问个关于日期的问题

因为工作,刚学sas,对proc sql 以外的东西不太知道,事实上prco sql 也不知道多少,所以这个问题比较弱,但是急需知道答案。。。

比如现在有个时间 temp=2011-08-24,我想把这个时间往前推四个月,也就是 2011-4-24。

我以为 INTNX 可以,INTNX('Month', temp, -4), 但是现在发现好像会把结果align, 得不到我想要的结果,不知道有没有其他的函数可以用? 谢谢!

还有就是如何能把一个时间 align 到这个月的最后一个工作日? 像股票的日数据的日期那样。

非常感谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2011-12-4 11:03:06 | 只看该作者

Re: 问个关于日期的问题

data test;
   input temp yymmdd10.;
   format temp yymmdd10.;
   new=intnx('month',temp,-4,'same');
   last=intnx('month',temp,-4,'end');
   format new last yymmdd10.;

cards;
2011-08-24
2011-09-12
;
run;
proc print data=test;run;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2011-12-8 09:50:37 | 只看该作者

Re: 问个关于日期的问题

谢谢帮忙,非常感谢!以前看了没看到 "same" ...,
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2011-12-24 13:13:24 | 只看该作者

Re: 问个关于日期的问题

[quote="yugao1986":3p2nd379]data test;
   input temp yymmdd10.;
   format temp yymmdd10.;
   new=intnx('month',temp,-4,'same');
   last=intnx('month',temp,-4,'end');
   format new last yymmdd10.;

cards;
2011-08-24
2011-09-12
;
run;
proc print data=test;run;[/quote:3p2nd379]
我运行的结果还不是提前四个月的呀?!2011-08-24变成了 2011-04-01...
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2012-2-24 10:49:59 | 只看该作者

Re: 问个关于日期的问题

data test;
input temp yymmdd10.;
format temp yymmdd10.;
new=intnx('month',temp,-4,'same');
last=intnx('month',temp,-4,'end');
format new last yymmdd10.;
cards;
2011-08-24
2011-09-12
;
run;
proc print data=test;run;
可以的。end刚好生成的是这个月的最后一天。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-5-6 23:27 , Processed in 0.081960 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表