? ? ? ? proc report可以生成報表,基本格式:
? ? ? ? proc report data=? options; (options 可以是windows/WD表示將結果輸出至單獨的報表窗口,或者nowindows/nowd將結果輸出至HTML結果窗口)
? ? ? ? ? ? ? ? column variables ;(篩選待輸出的變量,變量名與變量名之間用空格隔開)
? ? ? ? ? ? ? ? where? condition ;(使用where語句挑選輸出的行)
? ? ? ? ? ? ? ? define variables/ <usage> <attributes><options><justification><"column=heading">;
1)define 語句用于定義每一個輸出列的樣式,OPTIONS詳解:
????????variables :變量名
????????usage : 變量用途,包括across,analysis,computed,display,group,order
????????attribute:定義列格式,包括FORMAT=,WIDTH=,SPACING=;
????????options:定義列呈現形式,DESCENDING,NOPRINT,NOZERO,PAGE
????????justification:定義列左對齊、右對齊或居中對齊,left,right,center;
????????column-heading:定義列標題
????????SPACING=:表示在選中列和左側列間隔字符,默認是2;
????????WIDTH=:表示列寬,默認能容納所有數據FOMAT后內容,但是對于沒有FOMRAT的字符變量,則寬度默認是字符寬度,數值變量默認寬度是9;WIDTH=對HTML的結果窗口報表無用;
????????FORAMT=:可以DEFINE 語句使用format=選項,也可以單獨使用FORMAT語句定義數據格式;
????????JUSTIFICATION: SAS默認數值右對齊,字符左對齊
2) PROC? REPORT選項
????????COLUMN-HEADING 分行:默認是按照“/”分行,也可以在PROC? REPORT 語句中使用SPLIT=" OPTIONS"來進行分行;舉例如下:
? ? ? ? headline:標題行下加上下劃線
? ? ? ? headskip:標題行下面寫一個空行或者標題下劃線下寫入一個空行
? ? ? ? headline和headskip選項對HTML結果窗口報表無用
3) DEFINE 語句 USAGE詳解
? ? ? ? a)SAS默認字符變量的用途是"DISPLAY",數值變量用途“ANALYSIS”,計算SUM統計量
? ? ? ? b)order:order 選項可以讓變量根據FORMAT后的格式按升序排序,定義了ORDER的變量將ORDER變量值相同集中顯示,且在該變量值首行顯示,舉例如下:
? ? ? ? c) group: 用于制作匯總表(SUMMARY REPORT),如果變量名存在DISPLAY用途,則GROUP作用與ORDER用途一致,如果制作匯總表則變量用途必須為ACROSS,ANALYSIS,COMPUTED,GROUP.
? ? ? ? 在analysis用途中,默認統計量則使用的是SUM(求和),除此之外還可以用下列描述統計量值:
? ? ? ? d)across:將列內的數值從橫向展示變成縱向展示
舉例如下:
? ? ? ? e)computed:不在數據集里面的變量,也不會添加至數據集,可以是數值也可以是字符,
使用方法如下:在column語句中添加新變量名;在define語句將該新變量的用途定義為computed;在comput 模塊(compute block)生成該新變量的數值;值得注意的是新變量不能使用在該變量后面出現的變量值,只能使用該新變量前面出現的值。
舉例如下: