SAS常用函数

SAS函数是一个子程序,对自变量返回一个结果值。
SAS函数的基本形式:
y=函数名(X1,X2,…),其中X1,X2…为参数值

易混淆的概念

字符—character:一个一个地字符,如’a’,‘a’‘b’(‘ab’);
注:字符常数是与引号括起来的,字符变量的名称是没有引号的,即 字符常数不能作为字符变量的名称;SAS中比较引号括起来的字符时是区分大小写的,如‘ABC’与‘abc’是不同的。十进制的字符常数可以表示为‘543’x,x紧跟在引号后面。
字符串—string:一个或多个字符组成的串,如’a’,‘ab’;
词—word:由分隔符(delimeter)隔开的字符串,如’I love programming’‘I@love@programming’;

数值函数

mod(x,y):返回x除以y的余数;
int(x):返回x的整数部分;
ceil(x):返回≥x的最小整数;
floor(x):返回≤x的最大整数;
round(x,舍入值):根据舍入值对x进行舍入,即将x舍入到最接近能被舍入值整除的数值;
abs(x):返回x的绝对值;
log(x):返回x的自然对数值;
sqrt(x):返回x的平方根;
exp(x):返回x的指数值;

data a;
	num1=round(8.6,0.1);
	num2=round(8.6,1);
	num3=round(8.6,2);
	a=mod(10,3);
	b=int(8.6);
	c=ceil(8.6);
	d=floor(8.6);
	e=abs(-8.6);
	f=sqrt(4);
	g=log(4);
	h=exp(4);
run;
proc print;
run;

运行结果:
在这里插入图片描述

日期时间函数

date()、today():返回当天的日期;
year()、month()、day()和qtr():分别提取一个日期中的年、月、日、季度;
mdy(month,day,year):将月、日、年组合成完整日期;
intck(‘’custom-inteval‘’,start-date,end-date):返回在一个给定的时间跨度内发生的时间间隔的数量,可以用来计算天day、周week、月month、年year、季度qtr等;
yrdif(开始日期,结束日期,“计算依据”):当计算依据为actual时,计算两个日期之间以年为单位的差值;当计算依据为age时,计算两个日期之间的年龄差值;
datdif(开始日期,结束日期,“计算依据”):当计算依据为actual时,计算两个日期之间以天为单位的差值;

data datetime;
	format td date yymmdd10.;
	da=date();							
	td=today();						

	year=year(td);				
	month=month(td);			
	day=day(td);				
	q=qtr(td);							
	date=mdy(8,02,2018);				

	yd=yrdif(date,td,'actul');	
	age=yrdif(date,td,'age');	
	dd=datdif(date,td,'actul');

	days=intck('day',date,td);	
run;

运行结果:
在这里插入图片描述

字符型相关函数

字母大小写转换
upcase(‘’):转换为大写;
lowcase(‘’):转换为小写;
propcase(‘argument’<,‘delimiters’>):各单词首字母大写,其余小写,默认的分隔符delimiters是空白,正斜杠,连字符、开括号、句号和制表符;

data change_case;
	a=upcase('abc');			
	b=lowcase('Abc');			
	c=propcase('ab cD');		
run;

在这里插入图片描述
空格处理
trim(‘’):移除尾部空格;
trimn(‘’):移除字符串的尾部空格;
left(‘’):移除首部空格;
strip(‘’):移除首尾空格;
compress(‘’):移除所有空格(或指定字符)
compress(source<,character><,modifier(s)>)
compbl(‘’):将多个连续空格,压缩为1个;


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值