SAS – 格式化数据集
SAS – 格式化数据集
有时我们更喜欢以不同于数据集中已经存在的格式的格式显示分析的数据。例如,我们想将美元符号和两位小数添加到具有价格信息的变量中。或者我们可能想要显示一个文本变量,全部为大写。我们可以使用FORMAT来应用内置的 SAS 格式,而PROC FORMAT是应用用户定义的格式。也可以将单一格式应用于多个变量。
句法
应用内置 SAS 格式的基本语法是 –
format variable name format name
以下是所用参数的描述 –
-
变量名是数据集中使用的变量名。
-
格式名称是要应用于变量的数据格式。
例子
让我们考虑以下包含组织员工详细信息的 SAS 数据集。我们希望以大写形式显示所有名称。该formatstatement 来实现这一目标。
DATA Employee; INPUT empid name $ salary DEPT $ ; format name $upcase9. ; DATALINES; 1 Rick 623.3 IT 2 Dan 515.2 OPS 3 Mike 611.5 IT 4 Ryan 729.1 HR 5 Gary 843.25 FIN 6 Tusar 578.6 IT 7 Pranab 632.8 OPS 8 Rasmi 722.5 FIN ; RUN; PROC PRINT DATA = Employee; RUN;
执行上述代码后,我们得到以下输出。
使用程序格式
我们也可以使用PROC FORMAT来格式化数据。在下面的示例中,我们将新值分配给扩展部门名称的变量 DEPT。
DATA Employee; INPUT empid name $ salary DEPT $ ; DATALINES; 1 Rick 623.3 IT 2 Dan 515.2 OPS 3 Mike 611.5 IT 4 Ryan 729.1 HR 5 Gary 843.25 FIN 6 Tusar 578.6 IT 7 Pranab 632.8 OPS 8 Rasmi 722.5 FIN ; proc format; value $DEP 'IT' = 'Information Technology' 'OPS'= 'Operations' ; RUN; PROC PRINT DATA = Employee; format name $upcase9. DEPT $DEP.; RUN;
执行上述代码后,我们得到以下输出。