Sas でピボットテーブルを作成する方法 (例付き)
SAS でPROC TABULATEを使用すると、データセット内の変数を要約するピボットテーブルを作成できます。
この手順では、次の基本構文を使用します。
proc tabulate data =my_data;
class var1;
var var2 var3;
table var1, var2 var3;
run ;
classステートメントはグループ化する変数を指定し、 varステートメントは集計する数値変数を指定し、 tableステートメントはピボット テーブルの形式を指定します。
次の例は、この構文を実際に使用する方法を示しています。
例: Proc Tabulate を使用して SAS でピボットテーブルを作成する
SAS に、さまざまな食料品店での販売数と返品数に関する情報を含む次のデータセットがあると仮定します。
/*create dataset*/
data my_data;
input store $sales returns;
datalines ;
At 10 2
At 7 0
At 7 1
At 8 1
At 6 0
B 10 2
B 14 5
B 13 4
B 9 0
B-52
C 12 1
C 10 1
C 10 3
C 12 4
C 9 1
;
run ;
/*view dataset*/
proc print data =my_data;
ここで、各店舗の売上と返品の合計を集計するピボット テーブルを作成するとします。
これを行うには、次の構文を使用できます。
/*create pivot table to summarize sum of sales and returns by store*/
proc tabulate data =my_data;
classstore ;
var salesreturns;
table store, sales returns;
run ;
結果のピボット テーブルには、各店舗の売上と返品の合計が表示されます。
たとえば、次のことがわかります。
- 店舗 A での売上の合計は38です。
- ストア A への返品の合計は4です。
- 店舗 B での売上の合計は51です。
- ストア B への返品の合計は13です。
等々。
デフォルトでは、SAS はピボットテーブル内の各数値変数の合計を計算します。
ただし、各数値変数の後に「*Average」と入力すると、平均値を計算できます。
/*create pivot table to summarize mean of sales and returns by store*/
proc tabulate data =my_data;
classstore ;
var salesreturns;
table store, sales*Mean returns*Mean;
run ;
結果のピボット テーブルには、各店舗の平均売上と返品が表示されます。
たとえば、次のことがわかります。
- 店舗 A の平均売上高は7.6です。
- 店舗 A での返品の平均値は0.80です。
- 店舗 B の平均売上高は10.2です。
- 店舗 B での返品の平均値は2.6です。
等々。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。