我想在'V1'列中的每個唯一值的'Date'列中添加連續日期。下面解釋我在做什麼和我得到什麼錯誤(無法計算日期)。如何在一列SAS EG表格中插入其他列中每個var的連續日期範圍
我有一個表,如下所示:
V1 Date
MS000328 04JAN16
MS000328 08JAN16
MS000328 12JAN16
MS000328 08FEB16
MS000328 09FEB16
MS000328 12MAR16
MS000328 15MAR16
MS000328 16APR16
MS000328 17APR16
MS000329 02JAN16
MS000329 16JAN16
MS000329 29JAN16
MS000329 03FEB16
MS000329 19FEB16
MS000329 21MAR16
MS000329 31MAR16
MS000329 11APR16
MS000329 19APR16
我想要的是這樣的:
V1 Date
MS000328 01JAN16
MS000328 02JAN16
MS000328 03JAN16
MS000328 04JAN16
MS000328 05JAN16
MS000328 06JAN16
MS000328 07JAN16
MS000328 08JAN16
.
.
.
.
.
MS000329 01JAN16
MS000329 02JAN16
MS000329 03MAR16
.
.
MS000329 01APR16
MS000329 02APR16
.
.
MS000329 01MAR16
MS000329 02MAR16
.
.
MS000329 01APR16
MS000329 02APR16
.
.
.
我使用的follwing代碼....
data want1 (keep = V1 Date);
set have;
by V1;
run;
data want;
set want1;
format Date date.;
Date = "1JAN2016"d;
do i = 0 to 365;
Date+1;
output;
end;
run;
結果日誌顯示錯誤...'文件空間不足'
我做錯了什麼?
am我認爲'proc expand'只能填寫數據中第一個和最後一個之間的缺失日期,即它不能在第一個日期之前或在最後一個日期之後? – Longfish
@Keith我認爲你是正確的(它只會插入範圍內),儘管通過爲兩個開始/結束日期添加單行很容易修復。我認爲PROC EXPAND的價值主要在於處理數據集上的其他變量(例如,繼續推進更容易)以及它能夠計算值而不僅僅是填充;如果這只是一個行的問題,上面的過程可能就像開始/結束問題一樣好。 – Joe
@Joe感謝您的幫助。我們擁有SAS EG和其他SAS產品的許可:) – ZeekDSA