美文网首页橙子学院-30天专注橙长计划
R2 | #30天专注橙长计划#~SAS~Day 24

R2 | #30天专注橙长计划#~SAS~Day 24

作者: 胡阿白 | 来源:发表于2016-11-11 10:47 被阅读0次

    第五章 用ODS增强你的输出结果

    5.1 ODC(Output Delivery System)的概念

    过程步不会产生输出,它只会产生数据,然后把数据发送给ODC,以决定输出的样式等。所以,不要考虑是否使用ODC,而考虑怎么使用。

    ODC就像一家商务飞机,游客乘坐car和bus赶来,在机场确认行李、安检、最终登机,飞往目的地。Ods中,数据就想游客,通过各种过程步而来,ODS处理每一个数据集并发送到目的地。实际上,不同的ODS类型就是目的地,当达到目的地时,而数据的样式是由模板决定。

    目的地 如果没有指定目的地,那么你的数据默认发往“列表listing”,这里有几种可选的目的地

    LISTING 标准SAS输出

    Output SAS输出数据集

    Html 超文本标记语言

    RTF 富文本格式

    PRINTER high resolution printer output

    PS 附言

    PCT Printer Control Language

    PDF、MARKUP、DOCUMENT

    DOCUMENT目的地,允许创建一个可重复使用的输出。

    风格和表模板 模板描述ODS如何制定数据格式并呈现数据。最普通的两个模板类型和是表模板类型和风格模板类型。表模板类型制定基本的输出结构,而风格模板类型制定输出将如何呈现。ODS将过程产生的数据和和表模板结合成输出对象,输出对象接着与风格模板结合,并发送到目的地,创建出输出。

    可以使用template过程创建自己的风格模板,但proc template过程晦涩难懂。幸运的是,有一个最简单和最快速的方法控制修改输出,即使用内置风格模板。可用proc template语句来访问内置模板:

    PROC TEMPLATE;

    LIST STYLES;

    RUN;

    一些内置模板如下:

    注意RTF和PRINTER既是目的地名又是风格名。DEFAULT是HTML的默认风格,RTF是RTF输出的默认风格,PRINTER是PRINTER的默认风格。 Print、report、TABULATE三个过程中,可以使用style=option来直接控制输出特征,而不需要创建一个新的模板。

    5.2 追踪选择过程的输出

    当ODS接受来自过程的的数据时,它将数据与表模板结合。对应的表模板和数据就叫做输出对象。如果使用by语句,SAS会为每一个BY组产生一个输出对象。每一个输出对象都有名字,可以用ODS TRACE语句来查找,并用ODS SELECT语句来选择。

    ODS TRACE语句 ODS TRACE语句告诉SAS打印出SAS日志中输出对象的信息。这里有两个ODS TRACE的语句,一个是打开trace,一个是关闭。使用方法实例如下:

    注意关闭语句要在run后面,否则在程序运行之前就关闭了trace。

    例子 有关于番茄种类的数据,包括每种番茄的名字、颜色、从播种到收获的天数、典型重量:

    下面代码创建了一个名为giant的数据集,并使用ODS TRACE ON和ODS TRACE off语句来追踪proc means过程。

    程序运行后,日志窗口中就会有如下的追踪(由于使用了BY语句,故按照BY的组来追踪):

    ODS select语句 知道输出对象的名字之后,可以用ODS SELECT语句来选择需要的输出对象。基本形式为:

    Output-object-list是名字、标签、一个或更多的饿输出对象的路径。 例子 下面代码对giant运行了proc means,并用ODS SELECT语句选择了第一个输出对象,mean:

    输出结果为:

    相关文章

      网友评论

        本文标题:R2 | #30天专注橙长计划#~SAS~Day 24

        本文链接:https://www.haomeiwen.com/subject/snqfpttx.html