0
我正在嘗試根據產品按國家計算以下數據的3個月移動平均數(我在這裏只有兩個國家/地區變量)。有沒有辦法做到這一點?sas Proc擴展程序
這裏是銷售表,我有:
Date Product Country Sales
201101 Sofa US 100
201102 Sofa US 200
201103 Sofa US 250
201104 Sofa US 300
201101 Sofa CA 250
201102 Sofa CA 300
201103 Sofa CA 250
201104 Sofa CA 300
201101 Chair US 300
201102 Chair US 300
201103 Chair US 300
201104 Chair US 300
201101 Chair CA 300
201102 Chair CA 300
201103 Chair CA 300
201104 Chair CA 300
我試圖像下面,但均線只能由國家來計算。有沒有一種方法可以按照國家,按產品計算?任何想法將不勝感激。謝謝:)
PROC SORT DATA=Sales;
BY Country Product Date;
RUN;
PROC EXPAND DATA=Sales out =ma;
By Country Product;
CONVERT Value=Value_ma/transformin=(setmiss 0) transformout=(movave 3);
run;
我不知道約3個月的平均水平,因爲你的表格提供了4個月,我不知道如何在3個月的平均應該在這裏計算的,但你腠ld使用proc sql with avg和group by來獲得產品和國家在所有月份的總平均值,然後以某種方式將其縮放到3個月,或者可以使用proc方法構建某些內容,但是我想您還想在此處使用其他方法? – kl78
謝謝Kl78。我正在繪製一個趨勢線,以顯示按產品按國家劃分的3個月移動平均銷售額。所以第一個月和第二個月沒有移動平均值。第三個月的平均移動時間以前三個月爲基礎。然後,第4個月移動平均數基於第2,3,4個。等等。 – lisa
嗯,好的。不太瞭解proc擴展,但是你可以通過組合產品和國家來創建一個列,然後只在新列上使用,比如'copr = catx(「_」,Product,country);',然後通過copr如果結果正常,則在顯示數據時刪除copr。 – kl78