【SAS BASE】PROC REPORT

PROC REPORT包含了PRINT、MEANS、TABULATE、SORT过程和DATA步的功能:

一、基本语法:

 1  DATA natparks;
 2      INFILE ‘C:\MyRawdata\parks.dat‘;
 3      INPUT Name $ 1-21 Type $ Region $ Museums Camping;
 4   RUN;
 5
 6   /*-----Group and Across Variables(Group:纵向;Across:横向)---*/
 7   *Region as Group and Type as Across Variable with Sums;
 8   PROC REPORT DATA=natparks NOWINDOWS HEADLINE;
 9      COLUMN Region Type N, ( Museums Camping),MEAN;
10 /*在报告中加入统计量:只需在COLUMN语句的变量后加上统计量,并用逗号隔开。特别的是N不需要,若在COLUMN语句中插入N,则会计算报告中那行的观测数*/
11     Define Region/GROUP;
12     Define Type/Across;
13      TITLE ‘...‘;
14  RUN;
说明:

1. PROC REPORT:

NOWINDOWS: 命令SAS不要打开interatctive Report winow;
HEADLINE:若无HEADLINE选项,SAS会直接在列名称下面列出具体的数据,而HEADLINE选项命令SAS在列名下面划一条线再输入数据;
HEADSKIP:作用同HEADLINE,命令SAS在列名下面划一条空白再输入数据

2. COLUNM语句:与PROC PRINT语句中的VAR类似,告诉SAS哪些变量需要以什么顺序输出。若省去,则全部输出。
3.DEFINE语句:为变量指定特定的options.

1 DEFINE variable/ options ‘column-header‘;
2 例如:
3 DEFINE Age/ ORDER ‘Age at/ Admission‘ WIDTH=9;/*其中,/为换行,Admission的宽度为9*/

   其中,Options有:

1 ACROSS : 为变量的每一个unique值创建一列;
2 ANALYSIS: 为变量计算统计量(默认为数值性变量,统计量默认为求和);
3 COMPUTED:为calculate in a compute block的值创建一个新的变量;
4 DISPLAY: 为数据集中每个新观测创建一行,默认是字符型;
5 GROUP:为变量的每个unique值创建一行;
6 ORDER: 为变量的每一个观测值创建一行.

备注:

1.若数据中只有数值型变量,则默认情况下,PROC REPORT会自动的只输出这些变量的和。若数据中含有字符型变量,则PROC REPORT对每个观测输出一行详细的报告;

二、在PROC  REPORT OUTPUT 中加入summary breaks

 1 BREAK location variable/options;
 2 /*对variable的每个unique值的location位置添加一个break,BREAK语句中的变量必须实现在DEFINE语句中定义过*/
 3 RBREAK location/options;
 4 /*对report 的location位置添加一个break,因此不需要指定variable*/
 5
 6 【Location的值】:BEFORE或者AFTER;
 7 【OPTIONS的值】:
 8      1. OL/UL:在break的上面/下面画一条线;
 9      2. PAGE:开始新的一页;
10      3. SKIP:插入一个blankline
11      4. SUMMARIZE:插入数值型变量的和。

、在PROC  REPORT OUTPUT 中加入computed variable(自定义计算变量)

 1  DATA natparks;
 2       INFILE ‘C:\MyRawdata\parks.dat‘;
 3       INPUT Name $ 1-21 Type $ Region $ Museums Camping;   RUN;
 4
 5 *COMPUTE New variables that are numeric and character;
 6 PROC REPORT DATA=natparks NOWINDOWS HEADLINE;
 7     COLUMN Name Region Museums Camping Facilities Note;
 8     DEFINE Museums/ANALYSIS SUM NOPRINT;
 9     DEFINE Camping/ANALYSIS SUM NOPRINT;
10     DEFINE Camping/COMPUTED ‘Camping/ and / Museum‘;
11     DEFINE Note/COMPUTED;
12         COMPUTE Facilities;/*Computing数值型变量*/
13              Facilities=Museums.SUM+Camping.SUM;/*将统计量通过后缀形式附加在变量名后面即可*/
14          ENDCOMP;
15         COMPUTE NOTE/CHAR LENGTH=10;/*Computing字符型变量时,在COMPUTE后面加上CHAR选项,LENGTH=选项默认是8*/
16              IF Camping.SUM=0 THEN Note=‘No Camping‘;
17          ENDCOMP;
18      TITLE ‘Report with two computed variables‘;
19 RUN;

【SAS BASE】PROC REPORT,布布扣,bubuko.com

时间: 2024-10-12 03:23:12

【SAS BASE】PROC REPORT的相关文章

【SAS BASE】PROC EXPORT

PROC EXPORT可导出两种类型的文件: 导出delimited文件 1 *例子; 2 PROC EXPORT DATA=hotels 3 OUTFILE='C:\MyRawData\Hotels.txt' /*后缀名决定了输出文件的格式,除此之外,额也可以通过DBMS=选项来指定.*/ 4 /*例如:space-delimited文件时没有标准的后缀名的,只能通过DBMS=选项来输出*/ 5 DBMS=DLM /*若输出CSV文件,则DBMS=CSV; 6 若输出txt文件,则DBMS=T

【SAS BASE】PROC TABULATE(输出更加精美的tabulate报告)

PROC TABULATE的一般形式:(主语与FREQ过程不同,这里是table 语句,不是tables) 1 PROC TABULATE FORMAT=options;/*FORMAT=选项改变table中所有cell的格式*/ 2 VAR analysis-variable-list; 3 CLASS classification-variable-list;/*在下面table语句中出现的变量必须预先在VAR语句或CLASS出现过*/ 4 TABLE page-dimension, row

【SAS BASE】PROC FREQ

一般形式: 1 PROC FREQ; 2 TABLES variable_combinations/options; 3 /*variable_combinations 4 若为单变量:TABLE variable-name; 5 若为多变量: TABLE variable-name-1 variable-name-2 ...; 6 若为交叉变量:TABLES variable-name-1*variable-name-2; 7 */ 常见的options有: 1 LIST:将cross-tab

【SAS BASE】PROC MEAS

1 PROC MEANS OPTIONS; /*默认输出:非缺省数目.均值.标准差.最小值.最大值*/ 2 BY variable-list;/*必须要预先排序*/ 3 CLASS variable-list;/*功能与BY语句相同,不需要预先排序*/ 4 VAR variable-list; 5 OUTPUT OUT=data-set statistic(variable-list)=name-list; /*除了VAR与语句中的变量名外,还有两变量:_TYPE_和_FREQ_*/ 6 /*例

【SAS BASE】PROC SORT

1 PROC SORT DATA=data-set 2 OUT=neat 3 NODUPKEY 4 DUPOUT=extraobs; 5 BY variable-1 variable-2 ... variable-n; 6 RUN; 备注: 若不指定OUT=,则自动将排序后的数据代替原有数据集: NODUPKEY选项命令SAS 对BY语句中的变量删去重复观测值: DUPOUT=选项命令SAS将删去的数据放入其后指定的数据集中: 排序顺序(ASCII):blanks<-numericals(缺失值

【SAS BASE】PROC PRINT

1 PROC PRINT DATA=data-set NOOBS LABEL; 2 BY Variable-list;/*需提前排序,对每个BY变量输出,且在每页顶部打印该页By变量名*/ 3 ID Variable-list;/*不打印出观测值,且放在最左边*/ 4 SUM Variable-list; 5 VAR Variable-list; 6 RUN; [SAS BASE]PROC PRINT

【SAS BASE】PROC CONTENTS与LABEL

CONTENTS过程(查看数据集的属性) 1 PROC CONTENTS DATA=data-set; 2 RUN; LABEL 1 /*LABEL分为两种,但均不能超过256个字符*/ 2 LABEL=data-set (给数据集定义一个Label) 3 LABEL statement (赋予每个变量一个label) 4 5 /*对于变量来说,如果在DATA布中采用LABEL语句,则变量的描述会存储在数据集中,并在PROC CONTENTS中打印出来: 6 而若在PROC中采用,将不会存储在数

【SAS BASE】FORMAT Statement及PROC FORMAT

1 FORMAT Profit Loss DOLLAR8.2 Saledate MMDDYY8.; 2 PUT Profit DOLLAR8.2 LOSS DOLLAR8.2 Saledate MMDDYY8.; FORMAT语句指定每个变量具体的格式;这里特别要注意的是,FORMAT语句中,指定Profit和Loss同一个格式,为DOLLAR8.2. 1 DATA Carsurvey; 2 INFILE 'c:\myrawdata\cars.dat'; 3 INPUT Age Sex Inco

【SAS BASE】ODS OUTPUT

一.ODS的基本性质 ODS输出格式:LISTING(默认的标准SAS输出).HTML.RTF.PRTNTER.PS.PCL.PDF.OUTPUT(SAS OUTPUT Date-set).MARKUP.DOCUMENT; ODS内有table template(指定输出结构)和style template(指定外观结构):首先通过table template作用从procedure中产生数据,形成output project,然后经过style template作用送到destination加