2024-05-13 初级SAS学习笔记3(proc report)

proc report 的基本格式:

        proc report nowindows; (如果不设置nowindows options,SAS会默认打开html结果窗口)

                column variable list;(告诉SAS 哪些变量需要输出,没有该语句SAS默认输出所有变量)

        run;

基于上述格式,如果输出的变量含有字符类型变量,则一个观测值输出一行,结果与proc print 结果近似,但是没有obs列;如果输出的变量全为数值型,则会输出变量数值之和。

define 语句可对待输出且需要特别调整的变量进行option指定,格式如下:

        define  variable /option "column header"; 

常用的options 选项有:

across   对于变量内的每个值都创建一列;

analysis  对变量计算统计量,sas默认对数值变量求和处理;

computed 创建一个新变量,其值是在compute 块中得到的;

display  变量中一个观测输出一行;SAS 对字符变量的默认处理方式;

group 对于变量相同观测值仅输出一行

order  变量按照顺序排序后相同观测值输出一行

column header options  给输出列加上标题,如:

define  age/order  "age at/admission",标题中的/表示标题在此分行;

在group,across,order 选项中不会输出变量的缺失值,如需要输出缺失值需在proc report 语句后加入missing ,如下:proc report nowindows missing;

proc  report data=natparks nowindows missing;

        column region name museums camping;

        define region/order;

        define camping/analysis "campgrouds"

        title "national parks and monuments arranged by region";

run;

结果如下:

可以根据group 和across 选项 使用proc report 创建汇总报表,使用group创建横向汇总行:

        proc report data=employees nowindows

                column department salary bonus;

                define department/group;

        run;

结果如下:

使用across 创建纵向汇总行,使用across 选项SAS 默认计算个数,across 是展示纵向分类汇总的分类值,anlysis 是分析数值变量统计量,因此用于across变量和用于anlysis变量之间需要用“,”隔开,多个analysis 变量用括号括起来:

        proc report data=employees nowindows;

                column department, (salary bonus)

                define department/across;

        run;

结果如下:

使用group 汇总举例:

proc report data=natparks nowindows ;

        column region type museums camping;

        define region/group;

        define type/group;

        title "summary report with two group variables";

run;

使用across 汇总举例

proc report data=natparks nowindows;

        column region type,(museums,camping);

        define region/group;

        define type/across;

        title "summary report with a group and an across variable";

run;

如果 选项中有display 或者order 则会展示详细报表而不会将数据汇总。

在报表中插入分段可使用break 或者rbreak语句。

break  location variable /options;(location 有after 或者before两个选项,表示在变量相同的值创建行前面或者后面插入分段,variable必须提前在define中定义group 或者 order选项告知SAS。);

rbreak location/options;(location 有after或者before两个选项,在报表后面或者前面插入分段,或者在BY group 前面或者后面插入分段);

此处常用options有:

page: 开始新的一页

summarize :数值变量计算统计量,默认求和

proc report data=natparks nowindows;

        column name region museums camping;

        define region/group;

        break after group/summarize;

        rbreak after/summarize;

        title "detail report with summary breaks";

run;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值