目录

基本的语法格式

options

COLUMN语句:

where语句

DEFINE语句:

6种变量显示方式

BY语句:

在report中添加汇总分割


基本的语法格式

PROC REPORT <DATA=data-set> <options>; 
RUN;

proc report data=miya.fbg;
run;

options

常用选项 作用 默认值
HEADLINE 在表头下方显示一条分割线,使表头与下方数据分隔开
BOX 生成的表格包含所有的横竖框线。 无,没有任何框线
HEADSKIP 在所有列标题下面或横线(HEADSKIP)下面写一个空行
SPLIT= 指定标签的分隔符 /
MISSING 保留缺失值(此处待验证!!!) 不显示缺失值

COLUMN语句

选择报表中出现的变量,并对其排序:否则默认使用数据集中所有变量。
如果使用的变量都是数值型变量,则默认做求和计算。否则输出全部观测。

proc report data=miya.fbg;column height weight fbg;
run;

使用COLUMN语句在PROC REPORT过程中添加统计量

proc report data=miya.fbg;column height,MEDIAN N;/*身高的中位数,身高的非缺失值个数*/
run;
proc report data=miya.fbg;column fbg, (MIN MAX) (height weight),MEAN;/*fbg的最小值,fbg的最大值,height的均值,weight的均值*/
run;

where语句

用于筛选数据:

proc report data=miya.fbg;where gender='男' and weight > 70;
run;

DEFINE语句

为单个变量指定特定的options

基本格式:

DEFINE variable / <option(s)>  <'column-heading'> ;
常用选项 作用
format= 指定数值型变量的显示格式
n、mean、std、median、
q1、min、max......
各种统计量
width= 指定列宽,默认宽度:字符-变量长度,数值-9
SPACING= 指定选定列和紧接其左侧的列之间的空白字符。默认为2
center,left,right 表格中数据对齐方式;默认:数值-右对齐,字符-左对齐
'column-heading' 指定列标题的标签,超过列宽会自动换行,也可通过“SPLIT=’‘ ”指定的分隔符。

6种变量显示方式

1、DISPLAY
     显示每一条观测,字符变量默认用法

2、ANALYSIS
     指定变量为分析变量,并指定统计量(默认SUM),数值型变量的默认用法

3、ORDER
     指定变量为顺序变量,相同变量值,只显示一个,显示每一条观测
     并且这些行按顺序(升序)排列,DESCENDING(降序)。生成listing  report。

可以在ORDER中定义ORDER选项:

其中ORDER=DATA时,排序规则为数据集中所有观测值的出现顺序。

举例来源于SAS官网案例改编,原网址:24542 - 当在 DEFINE 语句中指定 ORDER=DATA 选项时,如何在 PROC 报告输出中获取输入数据集的确切顺序 (sas.com)https://support.sas.com/kb/24/542.html大家可以自行体会感受一下区别~

data test;input var1 $ var2;datalines;
A 1
A 4
B 1
B 2
B 99
D 1
D 2
D 3
D 4
D 99
;
run;proc report data=test nowd;column var1 var2;define var1 / order order=data;define var2 / order order=data;
run;proc report data=test nowd;column var1 var2;define var1 / order order=data;define var2 / order order=internal;
run;

结果分别为:

 4、GROUP 
     (汇总)指定变量为分组变量,为变量的每个唯一值创建一行。生成summary report。
     column中所有字符变量均为分组变量时,默认生成column中其他数值型变量的统计量(默认SUM)。 
     如果需要显示其他统计量,可以使用define语句对数值型变量进行指定。

define age / mean 'Ave age';

5、ACROSS
     (频数)为变量的每个唯一值创建一列,产生列分组。
     ACROSS的变量生成频数值(COUNT),其他数值型变量则显示sum统计量。

6、COMPUTED(输出中添加计算变量)
     通过计算创建新变量new_var ,new_var 需要在column语句中。
     如果计算中使用到了其他变量other_var,那么在column语句中other_var要写在new_var 的前面。

计算块语句-----compute语句。

/*输出中添加计算变量的格式*/
DEFINE new_var_name / COMPUTED;    /*计算块中的新变量,必须添加computed选项*/
COMPUTE new_var_name / options;statements;                    /*可以是:赋值语句、IF语句、DO循环语句*/
ENDCOMP;proc report data='miya.temp' nowd;where dest in ('LON','PAR');column flight capacity deplaned emptyseats;define flight / width=6;define emptyseats / computed 'Empty Seats';compute emptyseats;emptyseats=capacity.sum-deplaned.sum;  endcomp;
run;

计算数值变量:

/*
***计算数值变量***
!!!在COMPUTE语句中定义其变量名
!!!如果用到分析(ANALYSIS)角色变量,则必须将其对应的统计量(默认SUM)放在变量名后。
下面语句生成一个数值计算变量Income,其值为Salary和Bonus的总和。
*/
DEFINE Income / COMPUTED;
COMPUTE Income;Income = Salary.SUM + Bonus.SUM;
ENDCOMP;

计算字符变量:

/*
***计算字符变量***
!!!在COMPUTE语句中添加“CHAR”选项和“LENGTH”选项指定字符变量长度(1~200,默认8)。
下面语句生成一个字符计算变量JobType。
*/
DEFINE JobType / COMPUTED;
COMPUTE JobType / CHAR LENGTH = 10;IF Title = 'Programmer' THEN  JobType = 'Technical';ELSE JobType = 'Other';
ENDCOMP;

BY语句:

按指定的变量分多个表显示(使用前需要先排序)

在report中添加汇总分割

BREAK语句:指定变量上方(before)或下方(after)插入一条分割线,并显示统计量。
RBREAK语句:指定在表格最下方或最上方插入一条分割线,并显示统计量。
基本格式:

BREAK after variable/options;
RBREAK before /options;

variable:必须是分组(GROUP)变量或者排序(ORDER)变量。

OPTIONS
    PAGE:         开始新的一页
    SUMMARIZE:为数值变量插入汇总统计量。

PROC REPORT过程相关推荐

  1. SAS learning_5: 统计报表制作(2)——PROC REPORT

    二. PROC REPORT 1. 基本形式: PROC REPORT NOWINDOWS;COLUMN variable-list: RUN; 如果不写NOWINDOWS,SAS会打开交互性REPO ...

  2. PROC REPORT基础

    1 PROC REPORT语法 PROC REPORT data= SAS-data-set options ; COLUMNS variable_1 -. variable_n; DEFINE va ...

  3. SAS中的report过程简介

    SAS系统中的report过程是制作报表的工具,可以将print.means和tabulate过程的特点与DATA步报告写法的特点结合起来组合成一个强大的生成报表的工具. 语法格式:proc repo ...

  4. PROC REPORT ADVANCE

    我用一个例子来分享下ADVANCE REPORT 我们一般用PROC REPORT 是为了与ODS一起用,做出符合要求的RTF格式的LISTING,比如,要做出如下表格: 首先,你得做出符合要求的数据 ...

  5. SAS|proc report

    PROC REPORT 制表输出统计量 输出具体观测 一般格式; proc report data=数据集 <option>;column 变量;define 变量/options;bre ...

  6. PROC UNIVARIATE过程

    EDA(探索性数据分析)最常用的过程步之一就是PROC UNIVARIATE. 首先先看一个最简单的PROC UNIVARIATE程序: PROC UNIVARIATE DATA=SASHELP.FI ...

  7. 查找重复值和删除重复值,排序——PROC SORT 过程

    基本格式: DATA = data-set    对哪个数据集进行排序 OUT = data-set      把排序后的数据输出到指定数据集中,此时原数据依然保留.                 ...

  8. sql 分类汇总 列_分类汇总哪家强?R、Python、SAS、SQL?

    Excel数据透视表(Pivot Table)可以快速汇总大量数据,能够分类汇总和聚合数值数据,按类别和子类别汇总数据,功能十分强大,并且提供了展开.折叠.行列交换等交互式方法,对使用者来说十分的友好 ...

  9. SAS学习笔记(二)排序、打印和汇总数据

    二.排序.打印和汇总数据 1.where语句生成子集 语法:where condition 放在proc print xxx之后. Mary Cassatt ,Impressionism ,U Pau ...

  10. 描述性统计过程PROC MEANS 和PROC FREQ

    目录 一.数值型描述性统计:PROC MEANS 1.基本格式: 2.options: 3.statistic-keywords: 3.语句 BY: CLASS ​VAR ​OUTPUT语句 二.字符 ...

最新文章

  1. 如何编译安装wolfssl
  2. IOS 关于ipad iphone5s崩溃 解决
  3. 计算机硬件系统一直延用,会计从业资格证考试:会计电算化计算机硬件系统
  4. Java File类boolean delete()方法(带示例)
  5. java 字符流 utf8,JAVA基础(字符流设置编码读写字符)
  6. 算法之【大整数乘法】
  7. 如何获取select中的value、text、index相关值 如何获取单选框中radio值 触发事件 radio 默认选中...
  8. 小程序怎样链接上服务器,微信小程序http连接访问解决方案
  9. VxLAN技术基本原理
  10. 《深入浅出图神经网络》
  11. 微信表情图像代表什么意思_微信里的表情每个头像代表什么意思
  12. 【Java】【Lambda】东京奥运奖牌排序
  13. 使用 FFmpeg 开发播放器基础--使用 ffmpeg 解码视频文件
  14. JavaScript,switch 语句查询水果价格案例
  15. APP开发企划 | macOS平台Markdown桌面便笺
  16. 最新最全2011年-2020年中国统计年鉴面板数据excel
  17. Quartz定时任务基础学习
  18. gradle教程(一)
  19. 64位的GCC 编译32位程序
  20. 让你的PPT图片处理更具创意

热门文章

  1. Halcon深度学习-目标检测-Rectangle1
  2. 2024 递归Eason
  3. unity 模型销毁_Unity中销毁游戏对象的方式
  4. Golang 之 IED 安装(mac)
  5. 艾永亮:从小公司到行业龙头,一路披荆斩棘,最后输给了电商
  6. 只用 Markdown 就写出好看的简历,在线简历应用闪亮登场!
  7. 2015深圳实习感悟
  8. 谢烟客---------Linux之用户
  9. Excel教程:这三个excel筛选技巧,你肯定没用过 -Excel入门
  10. golang 环境搭建-windows