.LAST 変数の総計しかない場合、現在の合計を作成する方法を見つけようとしています。私が求めているものを少し明確にするサンプルデータセットを作成しました:
DATA SALES_DATA;
INPUT REGION_ID STORE_ID YEAR SALES;
DATALINES;
1 1 2000 .
1 1 2001 .
1 1 2002 .
1 1 2003 40
1 2 1977 .
1 2 1978 .
1 2 1979 .
1 2 1980 .
1 2 1981 12
2 3 1999 .
2 3 2000 .
2 3 2001 .
2 4 2002 17
3 4 1956 .
3 4 1957 22
;
ご覧のとおり、店舗が最後に営業していたときのデータしかありません。これには、前年度のすべての売上が含まれます。売上高が完全に線形で、前年比で加算されると仮定すると、SAS に STORE_ID.LAST 値を取得し、それをデータの年数で割って STORE_ID.FIRST の SALES フィールドに入れるように指示するにはどうすればよいでしょうか? 最後のフィールドから最初のフィールドに値を取得する方法を理解したら、通常の現在の合計を実行することを計画しています (カウントで割った後、次のような方法で作成できます:
DATA SALES;
SET SALES;
BY REGION_ID STORE_ID;
IF FIRST.STORE = 1 THEN
COUNT =0;
COUNT+1;
run;
したがって、理想的にはファイナル テーブルは次のように始まります。
DATA SALES_DATA;
INPUT REGION_ID STORE_ID YEAR SALES;
DATALINES;
1 1 2000 10
1 1 2001 20
1 1 2002 30
1 1 2003 40
...
PROC EXPAND を調べましたが、私のケースでは機能しませんでした。どんな提案も大歓迎です!