codecamp

SAS格式数据集

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

语法

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

format variable name format name

以下是使用的参数的描述:

  • 变量名是在数据集中使用的变量名。
  • format name是要应用于变量的数据格式。

让我们考虑包含组织的员工详细信息的以下SAS数据集。 我们希望以大写显示所有的名称。 格式化语句用于实现这一点。

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

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

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


SAS数据集排序
SAS SQL
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }