京公网安备 11010802034615号
经营许可证编号:京B2-20210330
【新手必备】SAS常用函数整理
本文根据网络资源对SAS的常用函数进行了整理。主要内容包括:
1. 数学函数
2. 数组函数
3. 字符函数
4. 日期和时间函数
5. 分布密度函数,分布函数
6. 分位数函数
7. 随机数函数
8. 样本统计函数
一、数学函数
1.1 ABS(x) 求x的绝对值。
1.2 MAX(x1,x2,…,xn) 求所有自变量中的最大值。
1.3 MIN(x1,x2,…,xn) 求所有自变量中的最小值。
1.4 MOD(x,y) 求x除以y的余数。
1.5 SQRT(x) 求x的平方根。
1.6 ROUND(x,eps) 求x按照eps指定的精度四舍五入后的结果
例:ROUND(5654.5654,0.01) =5654.57
ROUND(5654.5654,10)=5650
1.7 CEIL(x) 求大于等于x的最小整数。
1.8 FLOOR(x) 求小于等于x的最大整数。
1.9 INT(x) 取整数部分(x扔掉小数部分后的结果)。
1.10 FUZZ(x) 当x与其四舍五入整数值相差小于1E-12时取四舍五入。
1.11 LOG(x) 求x的自然对数。
1.12 LOG10(x) 求x的常用对数。
1.13 EXP(x) 指数函数 。
1.14SIN(x), COS(x), TAN(x) 求x的正弦、余弦、正切函数。
1.15 ARSIN(y) 计算函数y=sin(x)在区间的反函数,y取[-1,1]间值。
1.16 ARCOS(y) 计算函数y=cos(x)在的反函数,y取[-1,1]间值。
1.17 ATAN(y) 计算函数y=tan(x)在 的反函数,y取间值。
1.18 SINH(x), COSH(x), TANH(x) 双曲正弦、余弦、正切 。
1.19 ERF(x) 误差函数。
1.20 GAMMA(x) 伽玛函数 。
1.21 SIGN(x)符号函数。
二、数组函数
2.1 DIM(x) 求数组x第一维的元素的个数。
2.2 DIM k(x) 求数组x第k维的元素的个数。
2.3 LBOUND(x) 求数组x第一维的下界。
2.4 HBOUND(x) 求数组x第一维的上界。
2.5 LBOUND k(x) 求数组x第 k维的下界。
2.6 HBOUND k(x) 求数组x第 k维的上界。
三、字符函数
3.1 TRIM(s) 返回去掉字符串s的尾随空格的结果。
3.2 UPCASE(s) 把字符串s中所有小写字母转换为大写字母后的结果。
3.3 LOWCASE(s) 把字符串s中所有大写字母转换为小写字母后的结果。
3.4 INDEX(s,s1) 查找s1在s中出现的位置。找不到时返回0。
3.5 RANK(s) 字符s的ASCII码值。
3.6 BYTE(n) 第n个ASCII码值的对应字符。
3.7 REPEAT(s,n) 字符表达式s重复n次。
3.8 SUBSTR(s,p,n) 从字符串s中的第p个字符开始抽取n个字符长的子串
3.9 TRANWRD(s,s1,s2) 从字符串s中把所有字符串s1替换成字符串s2后的结果。
四、日期和时间函数
4.1 MDY(m,d,yr) 生成yr年m月d日的SAS日期值
4.2 YEAR(date) 由SAS日期值date得到年
4.3 MONTH(date) 由SAS日期值date得到月
4.4 DAY(date) 由SAS日期值date得到日
4.5 WEEKDAY(date) 由SAS日期值date得到星期几
4.6 QTR(date) 由SAS日期值date得到季度值
4.7 HMS(h,m,s) 由小时h、分钟m、秒s生成SAS时间值
4.8 DHMS(d,h,m,s) 由SAS日期值d、小时h、分钟m、秒s生成SAS日期时间值
4.9 DATEPART(dt) 求SAS日期时间值dt的日期部分
4.10 INTNX(interval,from,n) 计算从from开始经过n个interval间隔后的SAS日期。
其中interval 可以取'YEAR'、'QTR'、'MONTH'、'WEEK'、'DAY'等。
例:INTNX('MONTH', '16Dec1997'd, 3)=1998年3月1日。
4.11 INTCK(interval,from,to) 计算从日期from到日期to中间经过的interval间隔的个数,其中interval取'MONTH'等。
例:INTCK('YEAR', '31Dec1996'd, '1Jan1998'd)=2
函数计算1996年12 月31日到1998年1月1日经过的年间隔的个数,结果得2,尽管这两个日期之间实际只隔1年。
五、分布密度函数、分布函数
作为一个统计计算语言,SAS提供了多种概率分布的有关函数。分布密度、概率、累积分布函数等可以通过几种统一的格式调用,格式为 :
分布函数值 = CDF(' 分布', x <, 参数表>);
密度值 = PDF(' 分布', x <, 参数表>);
概率值 = PMF(' 分布', x <, 参数表>);
对数密度值 = LOGPDF(' 分布', x <, 参数表>);
对数概率值 = LOGPMF(' 分布', x <, 参数表>);
CDF计算由'分布'指定的分布的分布函数, PDF计算分布密度函数值,PMF计算离散分布的分布概率,LOGPDF为PDF的自然对数,LOGPMF为PMF的自然对数。函数在自变量 x处计算,<, 参数表>表示可选的参数表。
分布类型取值可以为: BERNOULLI, BETA, BINOMIAL, CAUCHY, CHISQUARED, EXPONENTIAL, F, GAMMA, GEOMETRIC, HYPERGEOMETRIC, LAPLACE, LOGISTIC, LOGNORMAL, NEGBINOMIAL, NORMAL 或 GAUSSIAN, PARETO, POISSON, T, UNIFORM, WALD 或 IGAUSS, and WEIBULL。可以只写前四个字母。
例:PDF('NORMAL', 1.96)计算标准正态分布在1.96处的密度值(0.05844),CDF('NORMAL', 1.96)计算标准正态分布在1.96处的分布函数值(0.975)。PMF对连续型分布即PDF。
除了用上述统一的格式调用外,SAS还单独提供了常用的分布的密度、分布函数。
5.1 PROBNORM(x) 标准正态分布函数
5.2 PROBT(x,df<,nc>) 自由度为df的t分布函数。可选参数nc为非中心参数。
5.3 PROBCHI(x,df<,nc>) 自由度为df的卡方分布函数。可选参数nc为非中心参数。
5.4 PROBF(x,ndf,ddf<,nc>) F(ndf,ddf)分布的分布函数。可选参数nc为非中心参数。
5.5 PROBBNML(p,n,m) 设随机变量Y服从二项分布B(n,p),此函数计算P(Y m)。
5.6 POISSON((lambda,n) 参数为lambda的Poisson分布Y n的概率。
5.7 PROBNEGB(p,n,m) 参数为(n,p)的负二项分布Y m的概率。
5.8 PROBHYPR(N,K,n,x<,r>) 超几何分布的分布函数。
5.9 PROBBETA(x,a,b) 参数为(a,b)的Beta分布的分布函数。
5.10 PROBGAM(x,a) 参数为a的Gamma分布的分布函数。
5.11 PROBMC 计算多组均值的多重比较检验的概率值和临界值。
5.12 PROBBNRM(x,y,r) 标准二元正态分布的分布函数,r为相关系数。
六、分位数函数
分位数函数是概率分布函数的反函数。其自变量在0到1之间取值。分位数函数计算的是分布的左侧分位数。SAS提供了六种常见连续型分布的分位数函数:
6.1 PROBIT(p) 标准正态分布左侧p分位数。结果在-5到5之间。
6.2 TINV(p, df <,nc>) 自由度为df的t分布的左侧p分位数。可选参数nc为非中心参数。
6.3 CINV(p,df<,nc>) 自由度为df的卡方分布的左侧p分位数。可选参数nc为非中心参数。
6.4 FINV(p,ndf,ddf<,nc>) F(ndf,ddf)分布的左侧p分位数。可选参数nc为非中心参数。
6.5 GAMINV(p,a) 参数为a的伽马分布的左侧p分位数。
6.6 BETAINV(p,a,b) 参数为(a,b)的贝塔分布的左侧p分位数。
七、随机数函数
7.1 均匀分布随机数
有两个均匀分布随机数函数:UNIFORM(seed),seed必须是常数,为0,或5位、6位、7位的奇数。RANUNI(seed),seed为小于2**31-1的任意常数。在同一个数据步中对同一个随机数函数的多次调用将得到不同的结果,但不同数据步中从同一种子出发将得到相同的随机数序列。随机数种子如果取0或者负数则种子采用系统日期时间。
7.2 正态分布随机数
有两种:
(1) NORMAL(seed),seed为0,或5位、6位、7位的奇数。
(2) RANNOR(seed),seed为任意数值常数。
7.3 指数分布随机数
RANEXP(seed),seed为任意数值,产生参数为1的指数分布的随机数。
参数为lambda的指数分布可以用RANEXP(seed)/lambda得到。
7.4 伽马分布随机数
RANGAM(seed, alpha),seed为任意数值常数,alpha>0,得到参数为alpha的伽马分布。设X=RANGAM(seed, alpha),则Y=beta*X是形状参数为alpha,尺度参数为beta的GAMMA分布随机数。如果alpha是整数,则Y=2*X是自由度为 2*alpha的卡方分布随机数。
如果alpha是正整数,则Y=beta*X是Erlang分布随机数,为alpha个独立的均值为beta的指数分布变量的和。 如果Y1=RANGAM(seed,alpha),Y2=RANGAM(seed,beta),在Y=Y1/(Y1+Y2)是参数为(alpha,beta )的贝塔分布随机数。
7.5 三角分布随机数
RANTRI(seed,h),seed为任意数值常数,0<h<1。此分布在0到1取值,密度在0到h 之间为2x/h,在h到1之间为2(1-x)/(1-h)。
7.6 柯西分布随机数
RANCAU(seed),seed为任意数值常数。产生位置参数为0,尺度参数为1的标准柯西分布随机数。Y=alpha+beta*RANCAU(seed)为位置参数为alpha,尺度参数为beta的一般柯西分布随机数。
7.7 二项分布随机数
RANBIN(seed,n,p)产生参数为(n,p)的二项分布随机数,seed为任意数值。
7.8 泊松分布随机数
RANPOI(seed,lambda)产生参数为lambda>0的泊松分布随机数,seed为任意数值。
7.9 一般离散分布随机数
RANTBL(seed, p1, …, pn)生成取1,2,…,n的概率分别为p1,…,pn的离散分布随机数。
八、样本统计函数
样本统计函数把输入的自变量作为一组样本,计算样本统计量。其调用格式为“函数名(自变量1,自变量2,…,自变量n)”或者“函数名(OF 变量名列表)”。比如SUM是求和函数,如果要求x1,x2,x3的和,可以用SUM(x1,x2,x3),也可以用SUM(OF x1-x3)。这些样本统计函数只对自变量中的非缺失值进行计算,比如求平均时把缺失值不计入内。 数据分析师培训
8.1 MEAN 均值
8.2 MAX 最大值
8.3 MIN 最小值
8.4 N 非缺失数据的个数
8.5 NMISS 缺失数值的个数。
8.6 SUM 求和
8.7 VAR 方差
8.8 STD 标准差
8.9 STDERR 均值估计的标准误差,用STD/SQRT(N)计算。
8.10 CV 变异系数
8.11 RANGE 极差
8.12 CSS 离差平方和
8.13 USS 平方和
8.14 SKEWNESS 偏度
8.15 KURTOSIS 峰度
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
一、问题:为什么 ID 会"断号" 很多刚接触 MySQL 的同学都会有一个困惑:表里的主键 ID 是自增的,删了中间几行数据之后,ID 变 ...
2026-10-22一、问题场景:为什么会重复 JOIN 同一个子查询 在写复杂 SQL 时,经常遇到这种需求:同一张表或同一个聚合子查询,要和主表关联 ...
2026-10-22人力资源专员是HR体系的执行入口。招聘信息发布、简历初筛、面试安排、考勤汇总、入离职手续、劳动合同与档案管理,大多由这个岗 ...
2026-10-22人力资源经理问“必学技巧”,真正要解决的不是知识清单不够长,而是时间有限、业务催得紧,学完却用不上。更有效的路径是:先用 ...
2026-10-22内容营销岗位的核心任务,不是“把文案写得更漂亮”,而是围绕目标受众,用持续的内容供给影响认知、推动转化并沉淀复购。它至少 ...
2026-10-22理财经理培训课程很多,难的是判断“先学什么、后学什么、学完能做什么”。与其按课程名称罗列,不如先看岗位任务:客户分层与维 ...
2026-10-22理财经理的知识结构,可以先用一句话概括:合规与产品知识决定“不出错”,客户经营与资产配置决定“够不够专业”,市场研判与数 ...
2026-10-22经济学背景做数据分析,优势不在工具,而在问题意识:供需如何相互作用、成本与收益如何权衡、变量之间是相关还是因果。真正的缺 ...
2026-10-22需要,但要把“需要”理解准确。经济学本身就在处理数据:GDP、物价、就业、企业营收、问卷调研,都是经济分析的原料。真正的区 ...
2026-10-22经济学分析能力不是单一技能,它至少由三层构成:把现实问题转成可检验假设的理论框架能力、用数据与统计方法验证假设的工具能力 ...
2026-10-22金融分析师的知识提升,先补的不是更多模型,而是让结论可复核的底层能力。按任务顺序,大致是四层:财务与业务理解、指标口径管 ...
2026-10-22金融分析师的“通用技能”,指换到不同机构、不同行业组仍用得上的底层能力,而非某家公司内部系统的操作经验。按任务拆,日常要 ...
2026-10-22先给结论:数据分析证书不是金融分析师的准入条件,招聘方也不会因为一张证书就直接判断你能做分析。要不要考,取决于你当前任务 ...
2026-10-22金融分析师的核心技能,不是“会看K线”或“会讲宏观”,而是能把一家公司、一个行业或一类资产,转化为可核查的数据判断与书面 ...
2026-10-22产品经理的知识提升,不是把需求文档、原型、SQL、数据分析、项目管理都学一遍,而是先对准目标岗位的真实任务,找出自己最缺的 ...
2026-10-22产品专员提升工作知识,最有效的方式不是先囤课程,而是围绕日常交付的四件事来补:需求调研与优先级判断、原型与PRD表达、竞品 ...
2026-10-22产品运营专员提升个人能力,常见误区是先把Excel、SQL、Python列成一张学习清单,然后从第一个工具开始学。更有效的做法是先回答 ...
2026-10-22产品运营的能力提升,最怕从“课程目录”出发:今天学增长模型,明天背SQL语法,学完却说不清自己负责的功能为什么激活率低。更 ...
2026-10-22产品经理的技能和影响力不是两条分开的赛道。技能决定你能不能把问题分析清楚、把方案设计对;影响力决定你的判断能否被团队接受 ...
2026-10-22产品经理要学的数据分析能力,不是“会写SQL”或“会用BI工具”这么简单。更准确地说,是围绕需求评估、功能迭代、指标监控、实 ...
2026-10-22