📅  最后修改于: 2021-01-08 14:18:00             🧑  作者: Mango
有时,我们倾向于将分析后的数据表示为不同于数据集中原始格式的格式。例如,在一个文本变量中,所有文本值都用小写字母表示,而我们想用大写字母表示这些值。或者我们需要在包含价格信息的变量中添加小数位。为此,SAS提供了FORMAT语句。
FORMAT语句包含SAS内置格式。我们可以将FORMAT语句应用于内置格式,而将PROCFORMAT应用于用户定义的格式。
FORMAT variable name format name;
哪里,
让我们考虑一下包含组织员工详细信息的SAS数据集员工。在这里,我们需要以大写形式显示员工的姓名,为此,我们使用的是SAS内置格式FORMAT语句upcase9。
DATA employee;
Input empid name$ age weight salary;
FORMAT name$ upcase9.;
datalines;
1 Akash 22 64 22000
6 Jaya 55 63 23500
2 Vinita 34 68 33000
7 Kumar 43 64 27000
4 Anita 29 65 53000
5 Taufik 21 45 32000
8 Boby 32 71 25000
3 Ankita 40 69 42000
;
run;
PROC PRINT DATA = employee;
run;
在SAS Studio中执行以上代码:
输出:
从输出中可以看到,所有雇员的姓名都转换为大写。
PROC FORMAT用于格式化用户定义的数据。我们可以根据需要格式化数据值或观察值。在下面给出的示例中,我们同时应用了内置和用户定义的格式语句。
内置格式upcase9用于将小写文本转换为大写。对于用户定义的格式,我们将变量dept的值从缩写更改为扩展形式,即IT =信息技术,HR =人力资源。
DATA employee;
INPUT empid name $ salary dept $;
DATALINES;
1 Akash 22000 IT
6 Jaya 23500 HR
2 Vinita 33000 IT
7 Kumar 27000 IT
4 Anita 53000 HR
5 Taufik 32000 IT
8 Boby 25000 IT
3 Ankita 42000 IT
;
proc format;
value $DEP 'IT' = 'Information Technology'
'HR'= 'Human Resources';
RUN;
PROC PRINT DATA = employee;
format name $upcase9. DEPT $DEP.;
RUN;
在SAS Studio中执行以上代码:
输出:
从输出中可以看到,所有雇员的姓名都被转换为大写,部门的缩写也被转换为扩展形式。