SAS - 格式化数据集

有时,我们更喜欢以不同于数据集中已经存在的格式显示分析数据的格式。例如,我们想将美元符号和两位小数添加到具有价格信息的变量中。 或者我们可能想显示一个文本变量,全部大写。我们可以使用 FORMAT 来应用内置的 SAS 格式,而 PROC FORMAT 是应用用户定义的格式。 也可以将单一格式应用于多个变量。

语法

应用内置 SAS 格式的基本语法是 −

format variable name format name

以下是使用的参数说明 −

  • 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; 

当上面的代码执行时,我们得到如下输出。

format1

使用 PROC 格式

我们还可以使用 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; 

当上面的代码执行时,我们得到如下输出。

format2