これを行う方法はいくつかあります。
data have;
input spend age_bucket $ multiplier $;
datalines;
10 18-24 2x
120 18-24 2x
1 35-54 3x
10 35-54 2x
;
proc summary data=have;
var spend;
class age_bucket multiplier;
output out=temp sum=;
run;
まず、あなたは問題の変数のために、この場合には集約、合計を計算するためにPROC SUMMARY
を使用することができます。 CLASS
ステートメントは、合計するものを示します。これにより、N-Way合計が計算され、出力データセットにはすべてが格納されます。コードを実行し、データセットtemp
を調べます。
次に、PROC TRANSPOSE
を使用してテーブルをピボットすることができます。 BY
ステートメントを使用する必要がありますので、PROC SORT
が必要です。私はあなたが気にする集計にもフィルタをかけます。
伝統的なモードでは35-54
は有効なSAS変数名ではありません。 SASはあなたの列を適切な名前に変換します。変数のラベルは元の値を保持します。あとで変数を参照する必要がある場合は、名前が有効に変更されていることに注意してください。
PROCのtabulateのは、特定の集計にピボットタイプのテーブルを構築するための強力です。 – Reeza