使用 format 語句對資料進行分組

你可以在過程中應用格式,例如更改 proc summaryproc freq 中的分組。

分組 SAS 日期

data example2 ;
  do Date = '01JUN2016'dt to '31AUG2016'dt ;
    Days = 1 ;
    output ;
  end ;
run ;

/* Summarise by year & month */
proc summary data=example2 nway ;
  class Date ;
  var Days ;
  output out=example2_sum (drop=_TYPE_ _FREQ_) sum= ;
  format Date yymmn6. ; /* e.g. 201606 */
run ;
日期
201606 三十
201607 31
201608 31
/* Summarise by month & year */
proc summary data=example2 nway ;
  class Date ;
  var Days ;
  output out=example2_sum2 (drop=_TYPE_ _FREQ_) sum= ;
  format Date monyy7. ; /* e.g. JUN2016 */
run ;
日期
JUN2016 三十
JUL2016 31
AUG2016 31

使用格式的好處是保留了自然排序順序。

sashelp.class 為例,假設你要比較每個名字第一個字母的頻率。你可以使用 substr() 函式查詢第一個字母,並在新變數上執行 proc freq。或者,你可以將 $1. 格式應用於 Name 變數:

proc freq data=sashelp.class ;
  table Name ;
  format Name $1. ;
run ;
名稱 計數
一個 7
B 4
C 2
等等