SAS;TABULATE制作报表

Posted Anni爱摩天轮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAS;TABULATE制作报表相关的知识,希望对你有一定的参考价值。

/*TABULATE过程主要是输出统计量表,对整个数据集中的数据的汇总
语法
PROC TABULATE DATA=<数据集名称> <选项>;
CLASS <分类变量> </选项>;
VAR <分析变量>;
TABLE <<页维表达式> <行维表达式> <列维表达式> </选项>;
KEYLABEL 统计量1="标签1" 统计量2="标签2";
LABEL 变量1="标签" 变量2="标签";
RUN;
其中
CLASS语句是给出分类变量
VAR语句指定分析变量,分析变量一般是数值型变量
统计量:NMISS 、N 、MEAN、 STD、MAX、MIN、RANGE、SUM、USS、CUSS、STDERR、CV、T、PRT、VAR、SUMWGT、PCTN(频数百分数)、PCTSUM(和的百分数)
F=格式 说明输出项的宽度和小数点数(F=6.2说明输出6个字节宽度,小数点后两位(默认是小数点后两位))
*/
/*TABLE特别说明
其后跟的变量:若用空格相连,输出是并列的;若用逗号相连,输出的是汇总格式(行*列格式);若用*相连,输出是交叉格式(从上到下)
其后的选项:
RTS=N;规定表格左上角行标题格的宽度,默认是1/4
BOX=变量名;格式为"字符串",规定放在行标题左上角空框的文本
MISSING=\'文本\';将最多20个字符的文本输出到包含默认值的格子
PRINTMISS;每一次变量标题被打印出来,打印分类变量的所有值,即使这些标题下的单元格没有数据(没数据的显示为缺失)*/

/*代码与例子*/
ods rtf file=\'D:\\files\\SAS典藏\\SAS_skill\\05@费率 _图\\feerate_table.doc\';

OPTIONS NOCENTER ls=max ps=max;
LIBNAME S \'D:\\files\\SAS典藏\\SAS_skill\\05@费率 _图\';

DATA S.feerate_noerror_1(KEEP=ScoreCard_Type working_status CustomerLevel FeeRate);
SET S.feerate_noerror;
RUN;

/*汇总表*/
PROC TABULATE DATA=S.feerate_noerror_1;
CLASS CustomerLevel FeeRate;
TABLE CustomerLevel,FeeRate;
TITLE \'TABULATE汇总表\';
RUN;

 

/*并排列表:TABLE CustomerLevel FeeRate;*/
PROC TABULATE DATA=S.feerate_noerror_1;
CLASS CustomerLevel FeeRate;
TABLE CustomerLevel FeeRate;
TITLE \'TABULATE 并排列表\';
RUN;

/*交叉汇总表*/
PROC TABULATE DATA=S.feerate_noerror_1;
CLASS CustomerLevel FeeRate;
TABLE CustomerLevel*FeeRate;
TITLE \'TABULATE 交叉汇总表\';
RUN;

 

PROC TABULATE DATA=S.feerate_noerror_1;
CLASS working_status CustomerLevel ScoreCard_Type;
TABLE working_status CustomerLevel ScoreCard_Type,N*F=6.0 PCTN;
TITLE \'并列显示:统计是否工薪、客户等级、评分卡类型的频数、百分比\';
RUN;

 

/*按照客户分级做数据集对比报表*/
PROC TABULATE DATA=S.feerate_noerror;
CLASS ScoreCard_Type working_status CustomerLevel;
TITLE "汇总表显示:按照费率标准观测值是否全覆盖";
TABLE CustomerLevel,ScoreCard_Type*working_status*(N*F=6.0 PCTN);
RUN;

ods rtf close;

 

 其中ods rtf file=\'D:\\files\\SAS典藏\\SAS_skill\\05@费率 _图\\feerate_table.doc\';

       ods rtf close;

将生成的表格保存在指定的word里

 格式的设置,table的选项可以加

(1)rts=20.s设置BOX所在列的宽度,其他列的宽度可以通过N*F=20.2.设置输出频数所占字符。

(2)BOX=\'此处输入内容\';

(3)style={just=center background=white cellwidth=200}设置标题内容位置、背景颜色、字符宽度

(4)PRINTMISS 将缺失的类别输出

(5)MISSTEXT=‘0’;将缺失的设置为0;

 

以上是关于SAS;TABULATE制作报表的主要内容,如果未能解决你的问题,请参考以下文章

通过PRINT过程制作报表

SAS 报表输出一些新式控制

SAS PROC PRINT 常用选项和语句说明

SAS学习6(freq过程tabulate过程univariate过程plot过程chart过程)

SAS学习6(freq过程tabulate过程univariate过程plot过程chart过程)

C#机房重构——报表制作