立即注册 登录
公卫人 返回首页

asteriod的个人空间 https://www.epiman.cn/?12177 [收藏] [复制] [RSS]

日志

应用ODS精确控制输出结果(一)

已有 920 次阅读2009-6-10 00:00 |个人分类:blog|

  SAS的输出控制系统Output Delivery System大家可能都非常熟悉了,但大家的应用可能局限于将结果输出成简单的html。但在实际工作,特别是大型数据集的处理时,我们需要制作大量的统计报表,同时这些报表需要符合特点格式规范,如何通过sas ods来实现报表的批量制作,减少我们的工作量呢?这就涉及到ODS精确控制输出结果了,这是一个涉及广泛的内通,除涉及ods外,还涉及sastabulate过程、report过程、以及DDE等内容,小博就这些问题做一专辑。今天的这个专辑先不涉及过程,仅对rtf格式报表的几个小细节做一介绍。  

    (一)   ods能做什么

     ods能将统计结果输出为rtf格式(word格式)、excel格式、pdf格式、xml格式以及其他脚本格式的工具。

举个例子:

proc print data=sashelp.class;

run;

运行上述命令后,会看到如下的输出结果,

如果我们直接拷贝这一结果的话,比较麻烦,怎么样把它直接生成word格式的报表呢。我们把代码稍加改变,“加个帽子”:

 

 上面结果运行后,可以看到在d盘下生成一个名为我的输出结果的word文档。打开后会看到如下图的输出结果:

 

 (二)给报表增加标题:

我们的报表一般要有标题,如何添加标题呢,我们给上面的例子增加标题:

 

运行后,可以看到有标题的报表:

 

我们看到生成的报表标题被加在一个框子里,双击才能编辑,熟悉word的用户可能知道,这个标题有个框子是这个标题放在word里的页眉里去了。如何去掉呢,很简单增加bodytitle选项即可:

 

 

上面的标题基本上就可以,但还有问题,如何去掉右上角的日期和页码呢。非常简单,增加一个选项options nodate nonumber;修改后的代码如下:

 

 运行结果如下:

 

(三)修改表格的样式:

刚才我们已经做好了一个简单的报表,但表格的格式并不是我们所需要的,如标题是斜体的、格式也不是我们所需要的字体、颜色和背景色,如何对其进行控制?这就涉及到ods的输出样式了,sas系统给我们提供了一些固有的输出格式,我们可以方便进行调用。

下图是sas提供给我们的所有可用的样式名称,调用方法也非常简单:

如我们要使用journal样式,代码就可以这样写:

  

输出结果如下:

 

 

使用Statistical样式后的输出结果如下:

 

(四)自定义样式:

通过上面的介绍,大家对ods输出报表样式有了初步的认识,下面我们要进一步控制输出样式,如按照规范的统计表来定义我们的报表样式。怎么作呢,前面有篇博文也介绍过了,下面只把代码贴出来就可以了:

由于数据集中的表头都是英文的,我们也可以把它改为中文;这里不在详细叙述,大家自己动手来联系吧!


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

手机版|会员|至尊|接种|公卫人 ( 沪ICP备06060850号-3 )

GMT+8, 2024-5-16 23:14 , Processed in 0.030888 second(s), 6 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部