SAS学习笔记(⼗)—SAS函数⽂章⽬录
简介
函数类型
数组函数 / 字符函数 / ⽇期时间函数 / 描述统计函数 / ⾦融函数 / 数学函数
概率函数 / 随机数函数 / 三⾓函数 / 特殊函数 / 州和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>);
其他字符处理函数
案例
data charities;
length ID $ 5;
set orion.biz_list;
if substr(Acct_Code,length(Acct_Code),1)='2'; ID=substr(Acct_Code,1,length(Acct_Code)-1); Name=propcase(Name)
run;
STEP1: 将姓和名分开。
STEP2: 将称谓,名和姓连接。
data labels;
acts;
length FMName LName $ 15;
FMName = scan(Name,2,',');
LName = scan(Name,1,',');
FullName = catx(' ',Title,FMName,LName);
run;
proc print data=labels noobs;
var ID FullName Title;
run;
CASE3:
STEP1: 到Product中含有Mittens 的观测。将出的观测中 Product_ID 中的字符替换掉。
STEP2: 将Luci 修正为Lucky
STEP3: ⽤COMPRESS 和PROPCASE 函数来除去Product_ID 中的空格,并确保 Product的正确格式。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论