本文概述
在本主题中, 我们将讨论SAS函数。函数使我们能够对SAS的数据和现有数据集进行广泛的操作。
SAS提供了各种内置函数, 可用于数据处理和分析。我们将这些函数用作DATA语句的一部分。
一个函数接受变量作为参数并提供结果, 该结果可以存储到另一个变量中。参数的数量可以根据函数的类型而变化。一些函数接受固定数量的参数, 而一些函数接受零参数
句法:
要实现函数, 请使用以下语法:
FUNCTIONNAME(argument1, argument2, ...argumentn);
其中
FUNCTIONNAME:这是SAS内置函数的名称。
参数:它是提供给函数的值, 以便它可以执行指示性操作。参数可以是变量, 常量表达式或其他函数。
根据数据类型, 函数可分为以下类别:
- 角色函数
- 日期和时间函数
- 数学函数
- 截断函数
- 杂项函数
角色函数
字符函数用于操纵字符或字符串值。
以下是用于处理字符串值的各种SAS内置字符函数:
- UPCASE:它将字符串的所有字母转换为大写。
- 小写:它将所有的字符串转换成小写。
- 程序:将字符串的每个首字母转换为大写。
- REVERSE:用于反转字符串字母。
- 扫描:它返回特定索引的字符串值。
例:
Data character_functions;
/* Convert the string into lower case */
Lowcse = LOWCASE('HELLO WORLD');
/* Convert the string into upper case */
Upcase = UPCASE('hello world');
/*Capitalizes each word*/
Prop_Case= PROPCASE('hello world');
/* Reverse the string */
Reverse_ = REVERSE('Hello');
/* Return the nth word */
Scan_First_Letter = SCAN('Hello World', 1);
run;
proc print data = character_functions noobs;
run;
在SAS Studio中执行以上代码:
输出
日期和时间函数
日期和时间函数用于处理日期和时间值。
以下是用于操纵日期和时间值的各种SAS内置日期和时间函数:
- INTCK:用于计算日期之间的年或月的总数。
- 工作日:用于显示特定日期的工作日。
- 今日:以SAS日期格式返回当前日期。
- 时间:以SAS时间格式返回当前时间。
例:
Data date_functions;
INPUT @1 date1 date9. @11 date2 date9.;
format date1 date9. date2 date9.;
Years = INTCK('YEAR', date1, date2);
months = INTCK('MONTH', date1, date2);
weekday = WEEKDAY(date1);
today = TODAY();
time = time();
DATALINES;
26NOV2010 18JUL2015
11MAR2009 18JUL2012
;
proc print data = date_functions noobs;
run;
在SAS Studio中执行以上代码:
输出
数学函数
数学函数用于对数值或变量值进行数学计算。
以下是用于对数值执行计算的SAS内置数学函数:
- MAX:返回变量值中的最大值。
- MIN:返回变量值中的最小值。
- MEDIAN:它通过计算所有变量值来返回中值。
- RANUNI:返回随机值。
- SQRT:它返回所有变量值之和的平方根值。
例:
Data Mathmatical_functions;
v1=45; v2=54; v3=23; v4=34; v5=67;
max_val = MAX(v1, v2, v3, v4, v5);
min_val = MIN (v1, v2, v3, v4, v5);
med_val = MEDIAN (v1, v2, v3, v4, v5);
rand_val = RANUNI(0);
SR_val= SQRT(sum(v1, v2, v3, v4, v5));
proc print data = Mathmatical_functions noobs;
run;
在SAS Studio中执行以上代码:
输出
截断函数
截断函数用于截断数字值。以下是SAS内置的截断函数, 用于对整数值执行截断。
- Ceil:返回整数值的最大最近值。
- Floor:返回整数值的最小最近值。
- 整数:将数字部分或左侧的数字返回十进制数字。
- 舍入:返回整数值的最接近值。
例:
Data truncation_functions;
/* Nearest greatest integer */
ceil_ = CEIL(12.85);
/* Nearest smallest integer */
floor_ = FLOOR(12.85);
/* Integer portion of a number */
int_ = INT(23.41);
/* Round off to nearest value */
round_ = ROUND(4526.68);
run;
proc print data = truncation_functions noobs;
run;
在SAS Studio中执行以上代码:
输出
杂项函数
现在, 让我们了解通常使用的SAS的两个其他函数。
- 邮递区号
- 死亡
邮递区号
它返回大写的两个字母的州邮政编码(或美国领土的全球GSA地理代码), 对应于其五位数的ZIP州代码。
例:
在这里, 我们采用邮政编码为27511的邮政编码, 该邮政编码对应于美国领土的全球GSA地理代码NC。
Data zipstate_functions;
/* Nearest greatest integer */
state2=zipstate('27511');
proc print data = zipstate_functions noobs;
run;
在SAS Studio中执行以上代码:
输出
死了
它返回摊销参数。
句法:
MORT(a, p, r, n)
其中
a:它是一个数字值, 用于指定初始金额。
p:一个数字值, 指定定期付款。
r:它是一个数值, 用于指定定期利率, 以分数表示。
n:整数值, 指定复利期数。
例:
50, 000卢比的借贷期限为30年, 年利率为10%。它每月复利。因此, 每月付款可以表示为:
Data Mort_functions;
/* Amortization calculation */
payment = mort(50000, . , .10/12, 30*12);
proc print data = Mort_functions noobs;
run;
在SAS Studio中执行以上代码:
输出
评论前必须登录!
注册