• 【SAS BASE】PROC REPORT


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

    一、基本语法:

     1  DATA natparks;
     2      INFILE 'C:MyRawdataparks.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:MyRawdataparks.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;
  • 相关阅读:
    Analysis Services 查询性能十大最佳实践(转)
    谈谈一年来对“数据仓库”概念的困惑、探索和感悟(转)
    用sql语句添加删除主键
    大文件流操作及编码
    SQL Server CONVERT() 函数
    正则表达式提取案例1
    解析SQL SERVER存储过程返回值
    文件操作类Path
    HTTP状态码
    自己写的遮罩层效果
  • 原文地址:https://www.cnblogs.com/chenyn68/p/3866627.html
Copyright © 2020-2023  润新知