我希望在SAS的两个日期之间找到完美的月份。我正在使用INTCK来做这件事。
DATA dataset;
set dataset;
months_exact = intck ('months'. dob, doe);
RUN;
现在,如果我的日期是2007年10月1日和2011年11月15日,它给了我49个月的时间,我希望它给我49.47个月。但我想为整个数据集做这个,而不必考虑处理具有不同时间长度的月份。有没有办法做到这一点?
答案 0 :(得分:1)
假设您想要结束月份的分数:
获取现在正在做的49号码。
查找开始和结束之间的天数。
days = end - intnx('month',start,months,'sameday');
然后查找结束月份的天数。
days_month = intnx('month',end,0,'end') - intnx('month',end,0,'begin') + 1;
然后添加分数。
months_exact = months + days/days_month;