zoukankan      html  css  js  c++  java
  • 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:filesSAS典藏SAS_skill5@费率 _图feerate_table.doc';

    OPTIONS NOCENTER ls=max ps=max;
    LIBNAME S 'D:filesSAS典藏SAS_skill5@费率 _图';

    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:filesSAS典藏SAS_skill5@费率 _图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;

  • 相关阅读:
    【C++学习】C++中的new VS C语言中的malloc
    【C++学习】多态——解析树实例分析
    【C++错误处理】multiple definition of
    VS.NET控件命名规范
    ASP.NET跨页面传值技巧总结
    marquee+js实现某个区域的“无缝滚动效果”
    vs2008与oracle数据库连接
    C#中HashTable的用法
    1. asp.net实现单点登陆
    GridView实现某列中相同值合并(不规则表)
  • 原文地址:https://www.cnblogs.com/Anni-love-Ferris-wheel/p/6684438.html
Copyright © 2011-2022 走看看