【SAS BASE】SAS函数

字符型变量

  • 返回字符中参数的位置类
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日期的差*/
原文地址:https://www.cnblogs.com/chenyn68/p/3865594.html