有时, 我们倾向于将分析后的数据表示为不同于数据集中原始格式的格式。例如, 在一个文本变量中, 所有文本值都用小写字母表示, 我们希望用大写字母表示这些值。或者我们需要在包含价格信息的变量中添加小数位。为此, SAS提供了FORMAT语句。
FORMAT语句包含SAS内置格式。我们可以将FORMAT语句应用于内置格式, 而将PROCFORMAT应用于用户定义的格式。
句法:
FORMAT variable name format name;
其中
- FORMAT:这是一个FORMAT语句, 指示格式化的操作。
- 变量名称:这是需要格式化的变量的名称。
- 格式名称:这是要应用于变量的SAS内置格式的名称。
例:
让我们考虑一下包含组织员工详细信息的SAS数据集员工。在这里, 我们需要以大写形式显示员工的姓名, 为此, 我们使用的是FORMAT语句upcase9, 它是SAS内置格式。
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
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中执行以上代码:
输出
从输出中可以看到, 所有雇员的姓名都被转换为大写字母, 部门的缩写也被转换为扩展形式。
评论前必须登录!
注册