简介
函数类型
数组函数 / 字符函数 / 日期时间函数 / 描述统计函数 / 金融函数 / 数学函数
概率函数 / 随机数函数 / 三角函数 / 特殊函数 / 州和Zip码换算函数
SAS 变量列表
SAS变量列表是对要引用的一组变量的简写形式
在第一个变量名称前需使用OF
关键字
四种形式:
- 序号区间
Total = sum(of Year1-Year4);
- 名称区间
Total = sum(of Year2--Year4);
- 名称前缀
Total = sum(of Year:);
- 特殊SAS名称列表
字符变量处理
字符处理函数
-
SUBSTR 函数 (右侧)
在赋值语句右侧的SUBSTR 函数可用于提取字符。
NewVar=SUBSTR(string,start<,length>);
-
PROPCASE 函数
PROPCASE函数将变量中的所有字符转换为合适的格式。
(第一个字符为大写,其他的字符为小写 )
NewVar = PROPCASE(argument <,delimiter(s)>);
- delimiter(s)是用于分隔的字符。若缺失,默认的分隔符包括空格, /, - ,制表符等
- SCAN 函数
用于返回一个字符串中的第 n个词。
NewVar = SCAN(string,n<,charlist>);
- 当字符串中的字符值个数少于指定的n 时,返回缺失值。
- 当n 为负数时,SCAN函数将从字符串的末尾开始选择字符。
- 创建得到的之前未用LENGTH 语句对进行定义的变量值的长度为200 字节。
- 第一个字符值前的分隔符无效。
- 任何的字符或字符组合也可作为分隔符。
- 两个或更多的连续的分隔符被视为一个分隔符
- CATX 函数
CATX 可对字符串进行连接。
NewVar = CATX(separator, string-1, … ,string-n)
- separator,是一个字符串,其将会被插入到各连接的参数中。
- 若之前未用LENGTH语句对NewVar进行定义,则创建的NewVar的长度将为200字节。
-
连接运算符
!!
或||
-
FIND 函数
FIND函数在目标字符串中搜寻指定的子字符串。
若要搜寻的子字符串被找到,返回其第一次出现的位置。如果未找到,返回 0值
Position = FIND(string,substring <,modifiers,startpos> );
- Modifiers 可以是
I 表示不区分大小写的搜寻。
T 表示忽略string和substring中的拖尾空格。- startpos 指定从字符串的何处开始搜寻子字符串。
- SUBSTR 函数(左侧)
(在赋值语句左侧)用于对字符变量进行字符替换。
SUBSTR(string,start<,length>)=value;
- length指定string中被替换字符的长度。若缺失,则从 start 位置到string 最后的所有字符全部进行替换。
- Length的值不能大于剩余字符的长度(包括尾部空格)
- TRANWRD函数
用TRANWRD函数可对字符串中指定的字符值或字符串进行替换或清除。
NewVar = TRANWRD(source,target,replacement);
- TRANWRD函数不会移除target或者replacement的尾部空格。
- 若未预先定义长度,则新变量NewVar 的长度将为200字节。
若查找的源字符中没有目标字符,则不会发生替换
-
COMPRESS 函数
可将源字符中的指定字符除去。
(若不指定要除去的字符,COMPRESS 函数会将源字符
中的空格全部删去)
NewVar = COMPRESS(source<,chars>);
-
其他字符处理函数
案例
- CASE1