SAS過程步(proc step)是SAS系統的另外一個核心步,對數據步(DATA STEP)生成的數據集進行分析和處理,挖掘數據信息。 java
SAS過程步用來對生成的數據集進行處理和分析,是SAS內部已經編譯好的過程,用戶可根據業務需求,直接調用SAS內部過程並對所調用過程選項設置進行分析處理、做圖和報表,而後根據調用過程輸出的信息寫出分析報告作總結性評價。 spa
過程步以「PROC」關鍵字爲開始標誌,經過「PROC」語句調用過程名和數據集,輸出分析報告或圖形或對數據集變換處理的動態執行過程。 code
過程步的語法格式:PROC 過程名 <DATA=數據集名> <選項>;過程語句 <參數選項>; RUN; blog
注意:1.對於調用SQL過程,結束標誌是QUIT,後邊還會有詳細講解的blog。 編譯
2.過程步中的過程語句與數據步中的語句不一樣,數據步中的語句不能用到過程步中,過程步中的過程語句以某一個關鍵字開始,如BY,VAR,CLASS,WEIGHT,FREQ,MODEL等。 class
下面是幾個經常使用的語句。 test
1)VAR語句 變量
過程步中用VAR語句指定分析變量,告訴SAS系統過程步對所要分析數據集的哪些變量進行分析,多個分析變量之間用空格分隔。省略該語句時默認對數據集的全部變量進行統計分析。 語法
語法格式:VAR 變量名1 變量名2 變量名3 ... 變量名N; 統計
功能:指定要分析的變量。
注意:此處的變量名爲過程步指定的數據集中所具備的變量名。
2)ID語句
ID是身份和標識的意思。過程步用ID能夠代替SAS默認的OBS標識,ID省略時用SAS默認OBS來標識觀測記錄。
語法格式: ID 標識變量名
功能:區分不一樣觀測記錄的變量,至關於指定一個區別標識,每一個觀測有惟一標識。
Libname dz 'd:\test'; PROC print data=dz.xy; id no; /*按編號no標識觀測值*/ RUN; 輸出結果顯示: no name sex sc 0001 小瑤瑤 M 30 0002 小小小 F 40
OUTPUT語句在實際中常常用到,此語句能夠把過程分析的結果輸出到制定的數據集。默認是樹池的分析結果到輸出窗口,若是過程步加入了OUTPUT語句,能夠把輸出結果以數據集的形式存儲到相對應的邏輯庫中,在OUTPUT語句中能夠制定過程步分析結果輸出到新數據集的數據集名。
語法格式:OUTPUT OUT=新數據集名 <關鍵字=變量名>;
功能:將調用過程的分析結果輸出到一個新的數據集中。
注意:此處新的數據集默認是存儲在臨時邏輯庫中,若是分析的輸出及結果想永久保留,必須創建用高就邏輯庫,而後經過二級名方式存儲新數據集,即邏輯庫名.新數據集名。
4)WHERE語句
SAS中的WHERE語句爲過濾條件語句,用法與DATA步中的WHERE語句相似,至關於SQL語句中的查詢語句的WHERE,功能是同樣的。
5)TITLE語句
TITLE語句用於加入標題信息,對輸出報告須要加入標題信息的能夠經過此語句輸入標題內容。
語法格式:TITLE n '標題信息';
功能:爲過程分析輸出信息加入標題信息。
注意:語句中的n爲整數,用於告訴SAS系統在第幾行顯示標題信息。
6)OPTION語句
OPTION語句主要是改變SAS系統的默認設置,屬於全局性的變量設置,在SAS會話沒有退出會話期間有效,當前會話執行時,OPTION語句改變屬性設置,上一個會話的OPTION語句設置失效。能夠控制輸出的版式,對輸出內容的具體位置進行控制。
語法格式:OPTION 選項1 <選項2>...;
功能:改變SAS系統默認設置。
7)LABEL語句
LABEL是標籤的意思,用LABEL語句給變量指定一個能夠識別的名字,便於理解變量表明什麼意思。能夠出如今過程步中的任意位置。
語法格式:LABEL 變量名1='標籤名';
功能:給變量指定一個標籤名,便於理解變量。
注意:LABEL語句中的多個變量標籤之間用空格分隔。
8)FORMAT語句
FORMAT語句定義輸出變量的格式,與數據步中定義的語法格式相同,定義輸出變量的字符或數值類型。
語法格式:FORMAT 變量名 類型定義;
功能:對變量定義輸出格式。
注意:變量類型定義與數據步INPUT語句中定義變量類型的方式相同。
9)NOOBS
NOOBS選項參數指明不輸出OBS標識列。
10)FIRSTOBS=和OBS=選項參數的設置,控制從數據集第幾條記錄開始到第幾條記錄結束,屬於取記錄條數的控制。
11)DOUBLE
DOUBLE選項參數設置在觀測記錄之間加入一行。