SAS中网页格式输出的实现_修良昌

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机应用
SAS 中网页格式输出的实现
广东医学院流行病与卫生统计学教研室(523808)
修良昌 丁元林
SAS 7 0以前版本的结果输出主要是为传统的行式打印机设计的,存在一些缺陷,如结果输出限定为单间隔字体,一些常用程序只能生成打印输出而不能建立新的可供其他过程步或数据步应用的数据集等 1~3。

为了克服这些缺点,在7.0以后版本的BASE 模块中增加了输出传递系统(output de li v ery syste m,ODS)。

发展至9.1版本,ODS 已经几乎能够不受限制地以各种美观的方式来报告和显示分析结果,以HT M L 、PDF 、RTF 、PostScript 、PCL 、一系列标记语言(包括HT M L4和XML)以及全新的 ODS 文档 等多种格式输出
4。

但介绍SAS 的中文书籍中极少提及该系
统,致使大家对ODS 很陌生,忽视了SAS 系统的强大
输出功能。

本文拟对ODS 作一简介,并就网页格式输出的生成作详细阐述。

ODS 简介
ODS 首先将数据步或过程步生成的结果(data co m ponen t)与数据模板(table definiti o n ,即数据的组织形式)组成输出对象(ou t p u t ob ject),然后通过各输出目标(desti n ati o n),形成不同格式的输出(ou tput)。

其原理见图1。

图1 输出传递系统过程示意图(仅列出OD S 的两个输出目标)
我们可以将ODS 比喻成一个繁忙的机场,则各种
程序生成的数据元素相当于通过各种方式来到机场的
乘客,数据模板相当于飞机上的座次安排, 乘客 登机后就形成了输出对象,然后飞往不同的 目的地 ,即通过不同的输出目标形成结果输出。

在形成输出之前,用户可以根据需要应用SAS 语句自由定义数据模板(包括输出表格的行顺序以及列顺序等)、输出风格(包括颜色、字体、字体大小等)和输出目标等。

ODS 每次可以通过一个指定的输出目标输出结果,也可以同时开启多个输出目标。

其默认的输出目标是列表(listing ),即生成*.lst 文件,该文件为文本文件,在应用时存在着一些缺陷,如无法生成表格,不能在其他没有安装SA S 的操作系统中直接打开等。

而如果我们采用H TM L 输出目标,即生成网页格式(*.h t m l 或*.ht m )文件,则应用时方便得多:首先,它可以被I E 、N etScape 等网络浏览器直接打开,即使操作系统中没有安装SA S 也无所谓;其次,网页中的表格可以被粘贴到W o r d 、Pow erPo int 等文档中直接加以利用;再者,还可以通过链接,对其进行网上浏览。

网页格式输出的SA S 实现
1.通过对话框设定
5,6
鼠标左键单击SAS 菜单栏中的Too ls ,在菜单中选择O ptions Preferences ,单击Preferences ,即打开Preferences 对话框,点击R esults 标签,使其居于最上方,操作过程及对话框见图2、3。

图2 T oo ls 菜单及二级菜单
209
中国卫生统计2009年4月第26卷第2期
图3 Preferences 对话框
C reate L isting 复选框默认为选中状态,创建列表格式输出,在创建HTM L 格式文件时可将其保留,即同时输出两种格式文件,但为了节约系统资源,一般将其选择取消,即为
C reate L isti n g 。

C reate HTM L 复选框为未选中状态,将其选
中 C rea te HTM L,即创建网页格式输出。

此时其下方的 U seW ORK fo l d er 复选框变为可用(由灰色变为黑色),系统自动将创建的HTM L 格式文件保存到W ORK 文件夹中,W ORK 文件夹是一个临时数据库,当系统关闭时,临时库和所有保存在其中的文件都将被删除。

为了永久保存文件,可以将其取消 U se W ORK fo l d er ,其上方的路径设置框

B row se 按钮变为可用,在此设置文件的保存路径。

Sty le 选择框还提供了四十多种网页的显示风格,可点击右边的箭头进行选择,一般应用默认风格即可。

V ie w Resu lts a s they are genera ted 复选框也默认为选中状态,即输出结果的同时进行浏览,若只保存结果而不进行浏览,可将其选择取消。

最下方的两个单选按钮仅在W indow s 操作环境下的Results 标签中出现,若选中 I nterne t brow ser 表示应用SA S 的内部浏览器即结果查看器(Re sults V ie w er)浏览结果,选中 Preferred w eb br ow ser 则表示应用独立的浏览器进行浏览,如I E 浏览器,该浏览器通常已在Preferences 对话框的W eb 标签中被设定为默认浏览器。

完成上述设置后,点击OK 键即可。

在此设置下,SA S 程序已不在输出窗口(O utput)中创建输出,而是在结果查看器窗口(Results V ie w er W i n dow )中呈现结果。

同时,也会像以列表格式输出时一样,在左侧的结果窗口(Resu lts)中生成一个结果的树形结构,若一个程序中有多个过程步或同一过程步的结果包括几个部分,则可以通过双击树形结构下的各部分输出图标进行浏览,如图4所示。

2.应用ODS HTM L 语句定义
1,3,6
(1)创建简单的HTM L 输出
图4 结果查看器窗口与结果窗口
ODS HTM L 语句的一般形式为:ODS HTM L BODY =file-specification;ODS HTM L CLO SE ;
file-specifica tion 即定义保存HTM L 输出的文件,它可以是一个具体的路径、逻辑库引用名或者是一个SA S 目录条目,另外, BODY = 也可以用 FI LE = 代替,下面为一个将PRI NT 过程步的结果输出保存为网页格式的程序。

ods listi n g c l o se ;/*关闭列表目标*/ods h t m l body= C:\M y D ocu m ents\exa m p l e .h-t m l ;/*打开HTM L 目标,将以下过程步的结果保存到C 盘M y D ocu m ents 文件夹的exa m ple .ht m l 中*/pro c pri n t data =Sasuser .exa m ple ;/*引用Sa -suser 永久库中的exa m p le 数据文件,生成一个基本的报告*/
var y1y2y3;run ;
ods h t m l c l o se ;/*关闭HTM L 目标*/ods listi n g ;/*打开列表目标*/
在这个程序中我们可以看到:先关闭列表目标,然后打开HTM L 目标,在RUN 语句后,先关闭HTM L 目标,然后打开列表目标,其中OD S HTM L CLOSE 语句是必需,否则无法浏览结果,而OD S L IST I N G 语句则是一个良好的习惯,OD S 将输出还原为默认的列表格式。

另外,该程序只有一个过程步,若在OD S H T -M L 语句和OD S HTM L CLOSE 语句之间增加几个过程步,所有的结果仍被保存在exa m p l e .ht m l 中,即所定义的目标文件可以存储OD S HTM L 语句和OD S HTM L CLO SE 语句之间所有过程步的结果。

(2)创建带有目录的HTM L 输出
上文中提到,在结果查看器窗口中浏览结果时,若结果较多,我们可以通过结果窗口的图标进行查找,但在使用外部浏览器(如I E )时,则无法进行此项查找。

为解决这个问题,我们可以为结果文件创建一个目录,其程序一般形式为:
ODS HTM L
BODY =body-file-specifica tion CONTE NTS =contents-file-specifica tion PAGE =pa ge-file-specifica tion
210 C h i nese J ou rnal ofH eal th S tatistics ,Ap r 2009,Vo.l 26,No .2
FRAM E=fram e-file-specifica tion;
ODS HTM L CLO SE ;
在这里ODS HTM L 语句将生成4个HTM L 文件,它们分别为:保存输出结果的主体文件、目录文件、页表文件以及框架文件,并且需要一一设定它们的保存路径和文件名。

定义 FRAM E = 的同时必需定义 CONTENTS= ,而 PAGE = 则可有可无,下面为一实例。

ods listi n g c l o se ;ods h t m l
body ='C :\M y Do cum ents \body .h t m l' contents='C :\M y D o cu m en ts \con tents .h t m l' pag e='C :\M y D o cu m en ts \page .ht m l' fra m e='C :\M y D ocum ents \fra m e .ht m l ';pro c ano va da ta=Sasuser .exa m ple ;m ode l y1y2y3=/noun;i m anov a h=i n tercep;t run ;
ods h t m l c l o se ;
ods listi n g ;
运行该程序后,在设定的路径下生成4个HTM L 文件,但由于结果窗口没有显示与框架文件的链接,所以在查看器窗口中仍只出现主体文件,若想查看整体,需在查看器窗口为当前窗口情况下,点击菜单栏中的F ile Open ,在弹出的对话框中按照刚才的保存路径找到fra m e .h t m l 文件,再点击OK 即出现如下结果。

若默认设置为外部浏览器浏览,查看整体时用相同的
步骤打开。

图5 带目录文件的结果输出
由图5可见,目录中显示程序标题(The ANOVA Procedure)以及该程序所产生输出的链接(D ata 等),点击链接可查看相应的结果;页表中则显示程序标题和输出的页码,点击页码也能进行查看,不过没有目录的链接精确。

在SA S 9.0及其以前的版本中,运行OD S HTM L 语句默认生成HTM L3.2格式的输出,而从9.1开始,生成的为HTM L4.0格式的输出
3
,I E 浏览器4.0以
后的版本已能够完全支持HTM L4.0格式,又W i n -dow s 2000自带的I E 浏览器已是5.0版本,所以目前在绝大多数PC 机上浏览HTM L4.0格式的输出是没有问题的。

若欲使SA S 9.1生成HTM L3.2格式的输出,可应用OD S HTM L3语句或者在SA S 注册表中修改HTM L 的版本设置。

ODS 是BASE 模块的重要组成部分,它使输出更加灵活多样,更能满足个性化的需求,本文仅就其强大功能的一小部分做了简介,若想了解更多内容,可参阅相关文献。

参 考 文 献
1.SA S In stitute Inc .SA S 9.1.3Help and D ocum en t ati on.C ary NC:SA S In stitute Inc ,2003.
2.SA S In stitute Inc .B ase SAS 9.1Procedu resG u i de .C ary NC:SA S Inst-i tu t e I n c ,2004,32-55.
3.SA S In stitute I n c .SA S 9.1.3Ou t pu t Delivery Sy st e m:U ser 's G uide ,Vo l um es 1and 2.C ary NC:SA S In stitute Inc ,2006.
4.SA S Instit u t e I n c .G etti ng S t art ed w ith SAS 9.1.C ary NC:SA S In stit u te In c ,2003.
5.D el w iche LD,S l augh t er S J .A L ittl e SAS Book :A Pri m er ,Th ird Ed-i ti on .C ary NC:SAS I n stitute I n c ,2003,20-21.
6.SA S In stit u te Inc .SAS On li ne Tu t o r 9.1:Progra mm i ng .C ary NC:SA S In stitute Inc ,2003.
h ttp ://w ww.busi n essanalysis .cn /t u t o ri al/sas/
bas e /i ndex .h t m
211
中国卫生统计2009年4月第26卷第2期。

相关文档
最新文档