欢迎来到天天文库
浏览记录
ID:14085134
大小:879.50 KB
页数:22页
时间:2018-07-25
《the little sas book 第五章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ThelittleSASbook学习笔记www.jiayounet.com第五章用ODS增强你的输出结果5.1ODC(OutputDeliverySystem)的概念过程步不会产生输出,它只会产生数据,然后把数据发送给ODC,以决定输出的样式等。所以,不要考虑是否使用ODC,而考虑怎么使用。ODC就像一家商务飞机,游客乘坐car和bus赶来,在机场确认行李、安检、最终登机,飞往目的地。Ods中,数据就想游客,通过各种过程步而来,ODS处理每一个数据集并发送到目的地。实际上,不同的ODS类型就是目的地,当达到
2、目的地时,而数据的样式是由模板决定。目的地如果没有指定目的地,那么你的数据默认发往“列表listing”,这里有几种可选的目的地LISTING标准SAS输出OutputSAS输出数据集Html超文本标记语言RTF富文本格式PRINTERhighresolutionprinteroutputPS附言PCTPrinterControlLanguagePDF、MARKUP、DOCUMENTDOCUMENT目的地,允许创建一个可重复使用的输出。风格和表模板模板描述ODS如何制定数据格式并呈现数据。最普通的两个模板类
3、型和是表模板类型和风格模板类型。表模板类型制定基本的输出结构,而风格模板类型制定输出将如何呈现。ODS将过程产生的数据和和表模板结合成输出对象,输出对象接着与风格模板结合,并发送到目的地,创建出输出。可以使用template过程创建自己的风格模板,但proctemplate过程晦涩难懂。幸运的是,有一个最简单和最快速的方法控制修改输出,即使用内置风格模板。可用proctemplate语句来访问内置模板:PROCTEMPLATE;LISTSTYLES;RUN;一些内置模板如下:注意RTF和PRINTER既是目
4、的地名又是风格名。DEFAULT是HTML的默认风格,RTF是RTF输出的默认风格,PRINTER是PRINTER的默认风格。Print、report、TABULATE三个过程中,可以使用style=option来直接控制输出特征,而不需要创建一个新的模板。5.2追踪选择过程的输出当ODS接受来自过程的的数据时,它将数据与表模板结合。对应的表模板和数据就叫做输出对象。如果使用by语句,SAS会为每一个BY组产生一个输出对象。每一个输出对象都有名字,可以用ODSTRACE语句来查找,并用ODSSELECT语句
5、来选择。ODSTRACE语句ODSTRACE语句告诉SAS打印出SAS日志中输出对象的信息。这里有两个ODSTRACE的语句,一个是打开trace,一个是关闭。使用方法实例如下:注意关闭语句要在run后面,否则在程序运行之前就关闭了trace。例子有关于番茄种类的数据,包括每种番茄的名字、颜色、从播种到收获的天数、典型重量:下面代码创建了一个名为giant的数据集,并使用ODSTRACEON和ODSTRACEoff语句来追踪procmeans过程。程序运行后,日志窗口中就会有如下的追踪(由于使用了BY语句,
6、故按照BY的组来追踪):ODSselect语句知道输出对象的名字之后,可以用ODSSELECT语句来选择需要的输出对象。基本形式为:Output-object-list是名字、标签、一个或更多的饿输出对象的路径。例子下面代码对giant运行了procmeans,并用ODSSELECT语句选择了第一个输出对象,mean:输出结果为:5.3从过程输出中创建SAS数据集有时需要把一个过程的结果弄到SAS数据集中,有的过程用output或out=实现。但用ODS,可以储存从过程输出的任何一部分。首先要使用ODSTR
7、ACE语句决定选择输出对象名。然后使用ODSOUTPUT语句将输出对象发送到OUTPUT目的地中。ODSOUTPUT语句基本形式为:ODSOUTPUToutput-object=new-data-set;这个语句不属于数据步和过程步。ODSOUTPUT打开SAS数据集并等待正确的过程输出,数据集保持开放,直到过程步的结尾。因为ODSOUTPUT是立即执行的,它将应用于proc正在处理的数据,或者应用于下一个proc(如果目前没有proc)。为确保得到正确的输出,建议将ODSOUTPUT语句放在PROC语句之
8、后,下一个PROC、DATA或RUN语句之前。例子仍然是关于番茄的数据:下面是引用与SAS日志,显示由proctabulate产生的追踪(trace),tabulate产生一个叫做table的输出:下面的代码读取数据、使用ODSOUTPUT语句来创建叫做TABOUT(来自TABLE输出对象)的SAS数据集,然后用procprint打印出新数据集。有两部分输出结果,第一部分是标准tabular结果,有proctab
此文档下载收益归作者所有