私は一般的にProc ExpandとSASについて学びたいと思っています。私はtransformoutで複数の操作が一緒に働く方法について多くの光を当てることができませんでした。以下のコードを実行すると、SASは単純に2行分の後方移動合計を計算しているようです。ここでトランスフォームでの複数の演算はどのように機能しますか?
proc expand data=averages out=transformed;
id date;
convert x=y/transformout=(reverse movsum 2 movsum 1 reverse);
by type notsorted;
run;
は、結果のサンプルです:
y x
13372 1225
20564 12147
16140 8417
14446 7723
13097 6723
15976 6374
11497 9602
12704 1895
18043 10809
私は、コードを少し変更すると、私は数字がSASで生成される方法で任意のパターンを見つけることができません。ここに変更されたコードがあります。ここで
proc expand data=averages out=transformed;
id date;
convert x=y/transformout=(reverse movsum 5 movsum 3 reverse);
by type notsorted;
run;
は、このコードの結果は以下のとおりです。
y x
116458 1225
112540 12147
106559 8417
103634 7723
107010 6723
103592 6374
103655 9602
100326 1895
94840 10809
どうSASは、このような状況で複数の操作を処理しますか?これまで私はGoogle上で何かを見つけたり、コードを使ってさまざまなシナリオを試したりすることができませんでした。
'BY'ステートメントで言及されている' TYPE'変数はどこにありますか?または、TYPEの1つのレベルに対して投稿したすべての値ですか? – Tom
@Tom申し訳ありませんが、そのコードを明確にしたり削除したりする必要があります。投稿された値はすべて同じTYPEです。 – Jarom