SAS命名規(guī)則
? ? ?SAS名:系統(tǒng)定義名、自定義名。
? ? SAS自定義名:用戶自定義,不要和系統(tǒng)名重復就好。
? ? ?SAS系統(tǒng)定義名:
? ? ? ? ? ?? (1)自帶的庫名WORK,SASHELP等;?
? ? ? ? ? ? ?(2)特殊的數(shù)據(jù)集名 NULL_(不創(chuàng)建數(shù)據(jù)集)、DATA(自動數(shù)據(jù)集名)、LAST(最后一個活動數(shù)據(jù)集);
? ? ? ? ? ? ?(3) SAS DATA步的自動變量名 N_(觀測號),ERROR (錯誤標識變量);
? ? ? ? ? ? ?(4)特殊的變量列表名 CHARACTER(所有字符型變量), NUMERIC_(所有數(shù)值型變量)、ALL(所有變量);
? ? ? ? ? ? ?(5) SYS開頭的宏變量名如SYSDATE(日期),?SYSVER(SAS版本)等。
?SAS語言元素
? ? ? ?包括? SAS語句(statements)、表達式(expressions)、選項(options)、格式(format)、函數(shù)(function)、call?列程(call Routine)。
?1. SAS語句(statements):以關(guān)鍵字開始、分號(;)結(jié)尾的代碼。
?2. 表達式:由操作數(shù)(operants)和操作符(operators)構(gòu)成,通過操作產(chǎn)生一個結(jié)果值。
? ? ?(1) 操作數(shù):被操作的對象;可以是變量、常量、表達式。
? ? ? ? ? ? ? ? ① 常量:字符常量、數(shù)值常量、時間常量、位測試常量(不常用)。
? ? ? ? ? ? ? ? ② 變量:字符型和數(shù)值型;日期、時間、日期時間也是以數(shù)值形式存儲的數(shù)字變量。
? ? ? ? ? ? ? ? ③ 數(shù)值變量:輸入格式[w.d],?輸出格式[BEST12.]
? ? ? ? ? ? ? ? ④ 字符變量:輸入和輸出格式均為[$w.]。
? ? ?(2) 操作符:執(zhí)行操作用的符號,也稱運算符;
? ? ? ? ? ? ? ?運算符:算術(shù)運算符、比較運算符、邏輯運算符。
? ? ? ?還有取小運算符(><)、取大運算符(<>)以及連接運算符(||)。 >< 和<> 分別用來找到兩個操作數(shù)中的最小值、最大值, || 用來連接前后兩字符。
3.選項(options):系統(tǒng)選項和數(shù)集選項。
4.格式(format):輸入格式和輸入格式;系統(tǒng)格式和自定義格式。
SAS?函數(shù)和Call例程
1. SAS函數(shù)是什么,即接受參數(shù),執(zhí)行運算和操作,然后返回一個值;SAS函數(shù)應(yīng)用范圍廣,可用于各種語句。函數(shù)作用于行,proc過程步作用于列。
? ? (1) SAS函數(shù)一般形式:函數(shù)名(參數(shù))
? ? (2)參數(shù)形式的四種類型:單個列舉參數(shù);參數(shù)清單;數(shù)組名;組合形式。

2. CALL例程與SAS函數(shù)類似,但不能用于賦值語句或表達式中,主要用于DATA步和CALL語句中。
? (1) CALL例程一般形式:CALL例程名(參數(shù))
? (2)參數(shù)形式的四種類型:單個列舉參數(shù);參數(shù)清單;數(shù)組名;組合形式。

具體可參看SAS官網(wǎng)的Functions and CALL Routines Reference中的Dictionary of SAS Functions and?CALL Routines。
很多函數(shù)都具有對應(yīng)的CALL 例程,如:函數(shù)CATS,CATT,CATX分別對應(yīng)的例程為CALL CATS, CALL CATT, CALL CATX。
SAS內(nèi)置的函數(shù)不夠用的時候,還可以使用PROC FCMP自定義函數(shù)。
