 
- SAS教程
- SAS - 主页
- SAS - 概述
- SAS - 环境
- SAS - 用户界面
- SAS - 程序结构
- SAS - 基本语法
- SAS - 数据集
- SAS - 变量
- SAS - 字符串
- SAS - 阵列
- SAS - 数字格式
- SAS - 运营商
- SAS - 循环
- SAS - 决策
- SAS - 函数
- SAS - 输入方法
- SAS - 宏
- SAS - 日期和时间
- SAS 数据集操作
- SAS - 读取原始数据
- SAS - 写入数据集
- SAS - 连接数据集
- SAS - 合并数据集
- SAS - 数据集子集化
- SAS - 排序数据集
- SAS - 格式化数据集
- SAS-SQL
- SAS - 输出传输系统
- SAS - 模拟
- SAS 基本统计程序
- SAS-算术平均值
- SAS-标准差
- SAS - 频率分布
- SAS - 交叉表
- SAS - T 测试
- SAS - 相关性分析
- SAS - 线性回归
- SAS - 布兰德-奥特曼分析
- SAS-卡方
- SAS - 费舍尔精确测试
- SAS - 重复测量分析
- SAS-单向方差分析
- SAS-假设检验
- SAS 有用资源
- SAS - 快速指南
- SAS - 有用的资源
- SAS - 问题与解答
- SAS - 讨论
SAS - 函数
SAS 具有多种内置函数,有助于分析和处理数据。这些函数用作 DATA 语句的一部分。它们将数据变量作为参数并返回存储到另一个变量中的结果。根据函数的类型,它所采用的参数数量可能会有所不同。有些函数接受零个参数,而另一些函数则接受固定数量的变量。以下是 SAS 提供的函数类型列表。
句法
在 SAS 中使用函数的一般语法如下。
FUNCTIONNAME(argument1, argument2...argumentn)
这里的参数可以是常量、变量、表达式或另一个函数。
功能类别
根据用途,SAS 中的函数分类如下。
- 数学
- 日期和时间
- 特点
- 截断
- 各种各样的
数学函数
这些函数用于对变量值应用一些数学计算。
例子
下面的 SAS 程序显示了一些重要数学函数的使用。
数据数学函数;
v1=21; v2=42; v3=13; v4=10; v5=29; /* Get Maximum value */ max_val = MAX(v1,v2,v3,v4,v5); /* Get Minimum value */ min_val = MIN (v1,v2,v3,v4,v5); /* Get Median value */ med_val = MEDIAN (v1,v2,v3,v4,v5); /* Get a random number */ rand_val = RANUNI(0); /* Get Square root of sum of the values */ SR_val= SQRT(sum(v1,v2,v3,v4,v5)); proc print data = Math_functions noobs; run;
运行上述代码时,我们得到以下输出 -
日期和时间函数
这些是用于处理日期和时间值的函数。
例子
下面的 SAS 程序显示了日期和时间函数的使用。
data date_functions;
INPUT @1 date1 date9. @11 date2 date9.;
format date1 date9.  date2 date9.;
/* Get the interval between the dates in years*/
Years_ = INTCK('YEAR',date1,date2);
/* Get the interval between the dates in months*/
months_ = INTCK('MONTH',date1,date2);
/* Get the week day from the date*/
weekday_ =  WEEKDAY(date1);
/* Get Today's date in SAS date format */
today_ = TODAY();
/* Get current time in SAS time format */
time_ = time();
DATALINES;
21OCT2000 16AUG1998
01MAR2009 11JUL2012
;
proc print data = date_functions noobs;
run;
运行上述代码时,我们得到以下输出 -
字符功能
这些是用于处理字符或文本值的函数。
例子
下面的 SAS 程序显示了字符函数的使用。
data character_functions;
/* Convert the string into lower case */
lowcse_ = LOWCASE('HELLO');
  
/* Convert the string into upper case */
upcase_ = UPCASE('hello');
  
/* Reverse the string */
reverse_ = REVERSE('Hello');
  
/* Return the nth word */
nth_letter_ = SCAN('Learn SAS Now',2);
run;
proc print data = character_functions noobs;
run;
运行上述代码时,我们得到以下输出 -
截断函数
这些是用于截断数值的函数。
例子
下面的 SAS 程序显示了截断函数的使用。
data trunc_functions; /* Nearest greatest integer */ ceil_ = CEIL(11.85); /* Nearest greatest integer */ floor_ = FLOOR(11.85); /* Integer portion of a number */ int_ = INT(32.41); /* Round off to nearest value */ round_ = ROUND(5621.78); run; proc print data = trunc_functions noobs; run;
运行上述代码时,我们得到以下输出 -
杂项功能
现在让我们通过一些例子来了解 SAS 的各种功能。
例子
下面的 SAS 程序显示了杂项函数的使用。
data misc_functions;
/* Nearest greatest integer */
state2=zipstate('01040');
 
/* Amortization calculation */
payment = mort(50000, . , .10/12,30*12);
proc print data = misc_functions noobs;
run;
运行上述代码时,我们得到以下输出 -