字符型变量
- 返回字符中参数的位置类
1 ANYALNUM(arg,start) /*输出arg中从第一位(若start缺失)或stat位开始的首次出现任何阿拉伯数字或字符的位置*/2 ANYALPHA(arg,start) /*输出arg中从第一位(若start缺失)或stat位开始的首次出现任何阿拉伯字符的位置*/3 ANADIGIT(arg,start) /*输出arg中从第一位(若start缺失)或stat位开始的首次出现任何阿拉伯数字的位置*/4 ANYSPACE(arg,start) /*输出arg中从第一位(若start缺失)或stat位开始的首次出现空格的位置*/5 INDEX(arg,'string') /*输出arg中string的起始位置*/6 LENTGH(arg) /*返回arg的长度(不计入后置空格),缺失值长度为1*/
- 连接字符串
1 CAT(arg-1,arg-2,...,arg-n) /*将两个或多个字符串连接起来,保留首位和中间的空格,两个是同"||"*/2 CATS(arg-1,arg-2,...,arg-n) /*将两个或多个字符串连接起来,删掉首位和中间的空格*/3 CATX('separator-string',arg-1,arg-2,...,arg-n) /*将两个或多个字符串连接起来,删掉首位和中间的空格,在参数中间插入指定的分隔符*/
- 处理单个字符串类
1 COMPRESS(arg,'char') /*将arg中的空格(若'char'缺失)或'char'指定的字符删掉*/2 TRIM(arg) /*将arg中的后置空格删掉*/3 LEFT(arg) /*使得字符串左对齐*/4 PROPCASE(arg) /*将首字母变成大写,其他字母变成小写*/5 UPCASE(arg) /*将字符串中的所有字母装化为大写*/6 SUBSTR(arg,position,n) /*从arg的第position个位置开始,抽取n个字符(若n缺失,截取直到字符串末尾)*/7 TRANSLATE(source,to-1,from-1,...,to-n,from-n) /*将source中的from-i字符转换成to-i字符(注意:只能一对一,不能将一个换成另外两个)*/8 TRANWRD(source,from,to) /*将source中的from字符转换成to字符*/
数值型:
1 INT(arg) 2 LOG(arg) 3 LOG10(arg) 4 MAX(arg-1,arg-2,..,arg-n) 5 MIN(arg-1,arg-2,..,arg-n) 6 MEAN(arg-1,arg-2,..,arg-n) /*所有非缺失值的算术平均数*/ 7 SUM(arg-1,arg-2,..,arg-n) /*所有非缺失值的和*/ 8 N(arg-1,arg-2,..,arg-n) /*非缺失值个数*/ 9 NMISS(arg-1,arg-2,..,arg-n) /*缺失值个数*/10 ROUND(arg,round-off-unit) /*约至最近的roud-off-unit(若确实,则约到整数)*/
日期
1 DATEJUL(julian-date) /*将julian-date转化为SAS格式的日期*/ 2 3 MDY(month,day,year) /*根据参数中的日、月、年返回SAS格式日期*/ 4 5 DAY(date) /*返回SAS日期date是这个月的第几天*/ 6 7 WEEKDAY(date) /*返回SAS日期date是这个星期的星期几*/注意: 1=Sunday, 2=Monday, ..., 7=Saturday. 8 9 MONTH(date) /*返回SAS日期date的月份*/10 11 QTR(date) /*返回SAS日期date的所在季度数*/12 13 YEAR(date) /*返回SAS日期date的所在年份*/14 15 YRDIF(start-date,end-date,'ACTUAL') /*用实际日期计算两个SAS日期的差*/