我们知道,利用SAS系统的输出控制系统可以控制输出RTF格式的报表,可以直接用于word排版和印刷。但是在海量报表处理时,如何准确控制报表的输出格式呢,如我们常用的统计表都是三线表,表头要大写,顶线和底线要加粗,如何精确控制这些输出呢。下面我们以这个统计表为例,简单总结一些ODS的输出技巧: (1)定义报表模板,并应用报表模板 通过定义模板,在输出报表时,可以引用这一模板,如我们符合我们统计学规范的报表模板可以代码可以这样写(如果你看不懂,直接拷贝过去直接用就行):
proc template; define style Styles.mystyle; parent = Styles.RTF; replace fonts / 'TitleFont' = ("宋体",13pt,Bold ) 'headingFont' = ("宋体 ",10pt,Bold) 'docFont' = ("宋体 ",10.5pt) 'footFont' = ("宋体 ",10.5pt); replace Body from Document / bottommargin = 0.25in topmargin = 0.25in rightmargin = 0.25in leftmargin = 0.25in; replace Table from Output / frame = hsides rules = groups cellpadding = 3pt cellspacing = 2pt borderwidth = 2pt; end; run; 在输出报表时,引用我们刚才定义的报表样式,就可以控制输出格式: ods rtf file=’c:\sample.rtf style=mystyle bodytitle; 技巧2:不要把表格标题输出到页眉; 当我们用word打开sas输出的报表时,我们会看到表格的标题常常是灰色的,原因是表格的标题部分(title)输出到了页眉,给我们编辑带来麻烦,下面还有一个讨厌的回车,怎么去掉它,且让标题输出到表格上呢,非常简单在输出选项上增加一个bodytitle选项就可以了,代码如下: ods rtf file=’c:\sample.rtf style= mystyle bodytitle; 技巧3:解决分页的问题 当我们有多个表要输出时,SAS系统会自动把多个表输出到不同的页,给我们排版带来麻烦,使用startpage=neve选项可以改变其默认设置: ods rtf startpage=never;利用以上技巧,你就可以直接输出符合你们老板要求的直接可用的报表了,当然还要灵活应用制表、report及ods select等语句了。 |