【问题标题】:SAS Date and substracting 1 MonthSAS 日期并减去 1 个月
【发布时间】:2015-04-17 22:12:43
【问题描述】:
我有一个存储为数字 201401 的日期。我想减去 1 个月,所以是 201312 而不是 201400。
另外,如果有更有效的方法,也请提出建议。我还将日期存储为 01Jan2014,并且可以很好地转换 SAS 日期,这样我就可以创建两个新列(减去 1 个月),以便它们的值分别为 01Dec2013 和 201312。此外,还有一个函数向前或向后增加月份将不胜感激。
提前致谢。
【问题讨论】:
标签:
date
sas
increment
subtraction
【解决方案1】:
如果您将日期存储为 SAS 日期,则可以使用函数 intnx 将其递增任意时间段。
newdate = intnx('Month',olddate,1,'s');
如果您像原始数据一样将其存储为整数,则您需要自行解决。我的回答:不要。
【解决方案2】:
先前的答案有效。
我只是想补充一点,在 SAS 中存储为日期与存储为整数不同。它可能显示 01JAN2014 但它代表一个数字,因此您仍然可以执行计算。
如果您将日期存储为 SAS 日期,则可以使用函数 intnx 将其递增任何您喜欢的时间段。
newdate = intnx('Month',olddate,1,'s');