PROC TABULATE的一般形式:(主語與FREQ過程不同,這里是table 語句,不是tables)
1 PROC TABULATE FORMAT=options;/*FORMAT=選項改變table中所有cell的格式*/ 2 VAR analysis-variable-list; 3 CLASS classification-variable-list;/*在下面table語句中出現的變量必須預先在VAR語句或CLASS出現過*/ 4 TABLE page-dimension, row-dimension, column-dimension/BOX=option MISSTEXT=option; 5 /*BOX=選項指定輸出的tabulate報表的左上角的空格內的句子;MISSTEXT=選項賦特定的值給空的data cells*/ 6 RUN;
特別要注意的是:
- VAR語句:在VAR語句中除了列出變量名之外,還可以包含統計量,如:ALL(在該維度求和),MAX,MIN,MEAN,MEDIAN,MODE,N,NMISS,PCTN,PCTSUM,STDDEV,SUM.
- TABLE語句同緯度變量的Concateting,crossing, and grouping:
1 concatenating: simply list them separated by a space; 2 crossing: list variables或keywords separated by an *; 3 grouping:將變量或關鍵字列表在括號內
1.keyword ALL is generally concatenated; 2. To request other statistics, cross the keyword with the variable name.
例子:
1 DATA boats; 2 INFILE 'C:\Myrawdata\boat.dat'; 3 INPUT Name $ 1-12 port $ 14-20 Locomotion $ 22-26 Type $ 28-30 price 32-36; 4 RUN; 5 *Changing headers; 6 PROC FORMAT;/*若想改變CLASS變量的值做的標題,step1:通過此FORMAT語句定義新格式*/ 7 VALUE $typ 'cat'='Catamaran' 8 'sch'='schooner’ 9 'yac'='yacht'; 10 RUN; 11 12 PROC TABULATE DATA=boats FORMAT=DOLLAR9.2; 13 CLASS Locomotion Type; 14 VAR Price; 15 Format Type $ typ.; 16 TABLE Locomotion='' ALL, /*改變變量的標題*/ 17 MEAN=''*Price='Mean price by type of boat'*(Type='' ALL)/BOX=’Full day Excursions ‘ MISSTEXT='none';/*改變關鍵詞的標題*/ 18 TITLE; 19 RUN;
備注:
- 改變PROC TABULATE輸出表格的標題
- 改變CLASS變量的分類值形成的標題:通過此FORMAT定義一個新的格式,然后通過FORMAT語句賦值給此分類變量;
-
改變變量或keyword的標題:將此變量或keyword與用單引號括起來的新標題等號相連即可,特別的,若令變量=’’,則標題被消去。
- 為每個Cells指定不同的結果:在PROC FORMAT后加上FORMAT=選項,使得表中所有單元的格式一樣,若需要不同單元有不同的格式,則需要在TABLE語句后加上FORMAT=選項才能實現(TO apply a format to an individual variable, cross it with the variable name).例如:
1 TABLE Region, Mean*(Sales*FORMAT=COMMA 8.0 2 Profit*FORMAT=DOLLAR10.2);