首页 > 代码库 > 【SAS BASE】ODS OUTPUT

【SAS BASE】ODS OUTPUT

一、ODS的基本性质

  • ODS输出格式:LISTING(默认的标准SAS输出)、HTML、RTF、PRTNTER、PS、PCL、PDF、OUTPUT(SAS OUTPUT Date-set)、MARKUP、DOCUMENT;
  • ODS内有table template(指定输出结构)和style template(指定外观结构):首先通过table template作用从procedure中产生数据,形成output project,然后经过style template作用送到destination加工,形成最终的OUTPUT。当然,用户可以通过PROC TEMPLATE建立自定义table template(指定输出结构)和style template(指定外观结构):
    1 PROC TEMPLATE;2     LIST STYLES;3 RUN;
  • 控制外观的style template:
     1 /*Built-in style template:*/ 2 ANALYSIS  3 D3D  4 MINIMAL  5 SASWEB  6 BARETTSBLUE  7 DEFAULT /*HTML OUTPUT的默认style*/ 8 PRINTER /*既是destination也是style名,还是PRINTER OUTPUT的默认style*/ 9 SANSPRINTER 10 BRICK 11 JOURNAL 12 RTF /*既是destination也是style名,还是RTF OUTPUT的默认style*/13 STATSTICAL14 15 备注:在PRINT、REPORT、TABULATE过程中,可用STYLE=选项来控制输出的外观,从而不需要再用一个新的style template.

    二、ODS OUTPUT

 1 ODS OUTPUT的一般形式: 2 ODS OUTPUT output-object=new-data-set; 3 /*output-object:想要保存的那部分output的name、label或路径; 4 new-data-set:想要建立的SAS数据集的名字*/ 5  6 DATA Giant; 7      INFILE C:\MyRawData\giant.dat; 8      INPUT NAME :$ 15. color $ days weight; 9 PROC TABULATE DATA=giant;10     CLASS color;11     VAR days weight;12     TABLE Color ALL,(Days Weight)*MEAN;13     TITLE;14 ODS OUTPUT TABLE=tabout;15 RUN;

     、ODS HTML

               生成HTML文件,用户只需要两个语句:一个打开HTML文件,一个关闭:

 1  *Create the HTML files and remove procedure name; 2  ODS HTML FILE=C:\MyHTMLFILES\Marine.html; 3  /*一般形式:----------Body-filename.html----------options--*/ 4  ODS NOPROCTITLE;/*删除输出中的标题*/ 5  DATA Marine; 6  /*省略读入数据步骤*/ 7  PROC MEANS DATA=marine MEAN MIN MAX; 8      CLASS FAMILY; 9      TITLE ’WAHLES AND SHARKS‘;10  RUN;11  PROC PRINT DATA=Marine;12  RUN;13  *CLOSE the HTML files;14  ODS HTML CLOSE;15 16 【常用的options】17 1.CONTENTS=filename: 创建一个连接到body file的table of contents;18 2. PAGE=’filename‘:创建一个link by 页码接到body file的table of contents;19 3.FRAME=filename:创建一个frame使得用户可同时查看body file 和目录或者page file;20 4.STYLE=style-name:指定特定的style template,默认是DEFAULT.

     四、ODS RTF(可用于复制进入WORD文档)

*Create the RTF files ; 2  ODS RTF FILE=C:\MyHTMLFILES\Marine.rtf BODYTITLE COLUMNS=2; 3  /*一般形式:----------Body-filename.rtf----------options--*/ 4  ODS NOPROCTITLE;/*删除输出中的标题*/     (中间部分铜ODS HTML过程)13  *CLOSE the RTF files;14  ODS RTF CLOSE;15 16 【常用的options】 1.BODYTITLE: 在RTF文件的主要部分放入titles和footnotes,而不是WORD里面的headers或footnotes; 2.COLUMNS=n:分栏输出,n为列数; 3.SASDATE:默认情况下,RTF输出的顶部日期和实践表示上次打开或打印成WORD的时间,加上此选项命令SAS使用当前时间; 3.STARTPAGE=value:控制page breaks,默认值为YES,在PROC之间插入breaks;若为NO,则关闭breaks;若为NOW,则在那一刻插入break. 4.STYLE=style-name:指定特定的style template,默认是RTF.

 

     四、ODS PRINTER/PCL/PDF/PS

 1 *Create the PDF files ; 2 ODS PDF FILE=C:\MyHTMLFILES\Marine.pdf STARTPAGE=NO; 3 ODS NOPROCTITLE; 4 DATA Marine; 5 /*省略读入数据步骤*/ 9 RUN;10 PROC PRINT DATA=Marine;11 RUN;12 *CLOSE the PDF files;13 ODS PDF CLOSE;【OPTIONS】1. COLUMNS=n :分n栏输出2. STARTPAGE=VALUE: 同RTF;3.STYLE:默认是PRINTER.