2014-07-22 70 views
0

我對SAS中的日期感到沮喪。 我正在使用proc預測,並試圖讓我的日期均勻分佈。我使用proc sql做了一些預處理,按月計算我的計數,但我的日期不正確。刪除時間序列的日期變量的日期部分SAS

儘管我的數據集看起來不錯(b/c我使用了MONYY格式),但該變量的實際值是錯誤的。

date year month count 
Jan10 2010 1  100 
Feb10 2010 2  494 
... 
.. 
. 

日期值實際上是日期(18267)的完整SAS表示,這意味着它包括日計數。

我是否需要將變量轉換爲字符串並返回日期或者是否存在可以運行的快速proc?

我的目標是使用proc預測的日期變量,所以我只想要月和年。

感謝您的幫助!

+0

是問題的數據是在不同的日子,但同月(即,你有Jan1一行,並與Jan15行),或者他們全部在月份的第一天(或類似天氣),只是每個月有不同的天數?也許可以在工作示例數據集中添加'gplot'代碼(如果需要,還可以使用proc預測代碼)來顯示您遇到的問題。 – Joe

回答

2

您無法在SAS中定義日期變量(因此從1jan1960開始經過的天數)不包括該日期。 你可以做的是用像monyy這樣的格式隱藏一天。但底層號碼將始終包含該信息。

也許你可以在proc預測中使用interval=month選項?

請詳細說明您遇到的問題與預測程序。


編輯:檢查this例如:

data past; 
    keep date sales; 
    format date monyy5.; 
    lu = 0; 
    n = 25; 
    do i = -10 to n; 
     u = .7 * lu + .2 * rannor(1234); 
     lu = u; 
     sales = 10 + .10 * i + u; 
     date = intnx('month', '1jul1991'd, i - n); 
     if i > 0 then output; 
    end; 
run; 
proc forecast data=past interval=month lead=10 out=pred; 
    var sales; 
    id date; 
run; 
+0

謝謝。我會看看。我的問題實際上是使用日期變量關於通過gplot進行繪圖。 PROC FORECAST通過interval = month來完成它的工作,但是當我繪製實際數據並預測它會顯示「警告:標記爲CREATION_DATE2的軸上的時間間隔不是均勻間隔 警告:由於主要的滴答增量有被指定爲不均勻或無序的間隔。「 – user2822055