2016-05-16 238 views
1

我想在SAS中的兩個日期之間找到精確的月份。我正在使用INTCK來做到這一點。SAS之間的確切月份

DATA dataset; 
     set dataset; 
     months_exact = intck ('months'. dob, doe); 
    RUN; 

現在如果我有日期2007年10月1日和2011年11月15日它給了我49個月我希望它給我49.47個月。但是我想爲整個數據集做到這一點,而不必處理具有不同時間長度的月份。有沒有辦法做到這一點?

+1

計數天鴻溝由30.4375 – superfluous

+0

數目但是這並不總是準確... –

+0

你需要爲你考慮什麼是一個月的具體分數的算法。 – Tom

回答

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;