私はSASには比較的新しいので、変数に基づいて移動平均を計算する必要があります。 私が説明するためにいくつかのサンプルコードを作った:SASでの移動平均の計算
DATA testData;
input shop year sales;
datalines;
01 01 20000
01 02 23500
01 03 21020
02 01 23664
02 02 15420
02 03 14200
03 01 25623
03 02 12500
03 03 20030
;
run;
DATA average;
retain y 0;
set testData;
y = y + sales;
avg = y/_n_;
run;
これは私にすべての私の販売のための平均値を示します。私がやりたいことは、店舗ごとの平均値と昨年の平均値、そしてその店のすべての年の平均値を取得することだけです。その後、次の店をもう一度始める。うまくいけば、これは何らかの意味があります。店舗1の年数の移動平均が店舗2の平均値に影響しないようにしたいと考えています。
技術的に、あなたは、累積平均ではなく、移動平均計算(ピリオドの同じ番号を使用するが、各時間を通してシフト)されます。これは@vasilijで示されるように、データステップで簡単にコーディングできます。移動平均はコード化するのがより複雑ですが、SAS ETSのライセンスがあれば、 'proc expand'で簡単に行えます。 – Longfish
PROC MEANSとWAYSおよびTYPESステートメントを見てください。彼らは結果のレベルを制御することができます。私はそれが長期的にはデータ・ステップよりも優れた解決策であると考えています。 – Reeza