美文网首页SAS编程proc report
102:proc report(四讲)---proc templ

102:proc report(四讲)---proc templ

作者: SASPRO的打工人生活 | 来源:发表于2022-03-31 15:20 被阅读0次

我们今天接着讲proc template;

100:proc report(四讲)---proc template

 define语句就不讲了,看以前的文章吧。主要是知道如何定义自己的template名称和如何继承父类template。

一:style语句:

STYLE style-element-name(s)

existing-style-element-name | _SELF_><"text">

style-attribute-specification(s)>;

参数1.style-element-name指定要创建或修改的一个或多个样式元素。如果style-element-name是一个新的样式元素,那么PROC TEMPLATE将该样式元素存储在当前的样式中。如果style-element-name覆盖了另一个元素的父元素的样式元素,那么style-element-name的所有后代,包括那些从父元素继承的后代,也将继承新的属性。

总之style-element-name继承遵循的原则是以下几点:假设我们前面写了parent = styles.rtf,也就是继承的parent模板是rtf

(一)如果子样式中已经存在同名的样式元素,并且不是通过使用FROM选项创建的,那么子样式中的样式元素将覆盖父样式中同名的样式元素。

也就是这样写:style data    然后rtf中也有一个元素名称叫data,那么在这个style data定义的新的子元素都将覆盖rtf data中的子元素(也要是名字一样的)

(二)如果子样式中已经存在同名的样式元素,并且它是通过使用FROM选项创建的,那么来自父样式元素的样式属性将被吸收到子样式中的样式元素中。

也就是这样写:style data from data(后面的这个data是rtf中的),那么rtf中data定义的属性都将继承到新的data中,如果我们自己又在data中定义了新的元素属性,那么重名的就覆盖,不重名的就当作新的元素属性起作用。

(三)如果在一个样式中指定了多个相同的样式元素名称,并且不止一次指定了一个属性,则使用最后指定的属性的值。

也就是说如果

style data  from data /      color = red

color = black

      color = white;

那么只有这个white起作用.

参数2. FROM existing-style-element-name| _SELF_:指定前面的style-element-name继承现有的style-element-name的样式属性。

style data1 from data2 / color=black;这句话的意思就是我们自己创建了一个style element叫dta1,继承的是data2,然后我们还往我们自己data1里面创建了一个

style-attribute------color=black

_SELF_:

specifies that the parent of the style element should have the same name as the new style element.指定样式元素的父元素应与新样式元素具有相同的名称。   

一开始我没理解这个翻译,按理说不是说儿子要跟父亲保持一致吗?父亲叫什么名字儿子也要叫什么名字,怎么是样式元素的父元素应与新样式元素具有相同的名称。换一个角度,这个“指定”可以换成“要求",也就是如果你用了_SELF_ 选项,那么你新建的style element 就要跟父类的名字一样。这个_SELF_ 选项就默认包括了parent所有的style element。

看下面的例子:

style data,data1,dataemptyfrom _self_ /      color = red

      backgroundcolor = black;

等价于下面3个

style data from  data/      color = red        

     backgroundcolor = black;

style data1 from  data1/      color = red  

     backgroundcolor = black;

style dataempty from dataempty/        

     color = red

     backgroundcolor = black

当你在一个style里面定义多个style element name(data\data1\dataempty),要用逗号分隔开。红色代表是我们自己创建的style element name,红色是parent里面存在的style element name,选哪种写法你自己看看是不是重复的,重复的就可以用第一种写法,减少代码量。

还有跟在existing-style-element-name | _SELF_> 的这个<"text">是什么意思?

提供关于STYLE语句的信息。这种类型的文本将成为已编译模板的一部分,您可以使用SOURCE语句查看该模板,而SAS注释不会成为已编译样式的一部分。

解释这些就很费时间了,有时间我再结合例子,现在只要是对这些语句有了解,知道是什么,怎么用。

参数3:</ style-attribute-specification(s)>  包括

style-attribute-name=< | >style-attribute-value两个部分

像color = red

color 就是style-attribute-name,red就是style-attribute-value

style语句就这些,介绍到这里,接着下一个:

二:class语句

你可能看过这样的写法:

style fonts from fonts;这其实就等价于classfonts,同时也等价于style fonts from _self_;这3句都是一样的作用。

所以class跟style的区别就是把"from","from _self_"隐藏了,但是起的作用是一样的

class语句的作用就是从名称类似(相同)的样式元素创建新样式元素。

CLASS style-element-name(s) <"text"> </ style-attribute-specification(s)>;

    这两个参数跟style用法一样,class就这么点东西,所以style语句要认真看。

如果你看很久以前的文章,可能还会看到用replace选项的,但是replace语句已经被style替代了,停用了


但是还可以讲一下replace和style的区别,就是如果我们继承了某个父类的模板,然后想修改某个style element里面的style-attribute,用replace语句就得先把父类的style element都先复制下来,然后才能修改。

黄色部分是我们想修改的,你看得把整个fonts复制下来,然后才能修改。


但是用style语句,就不用这么麻烦了。

虽然还有这下面几个语句,但是不常用,所以就不介绍了,想了解的自己去SAS官网看看吧。

有人可能会问,我们工作中可能会用到什么style-element-name?然后style-element-name下面包含什么 ,这个太多了,

太多了,看公司需求吧,我就不讲了

相关文章

  • 102:proc report(四讲)---proc templ

    我们今天接着讲proctemplate; 100:proc report(四讲)---proc template[...

  • 100:proc report(四讲)---proc templ

    报告的模板我已经做出来了,发现出横线只要在proctemplate里面修改某个选项就可以了,像下面这样 当然,我们...

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

    5.9用style=option定制proc report输出 与5.8类似,基本语句为: PROC REPORT...

  • 145:Proc report(四讲)

    今天这篇文章是来摸鱼的,我写这篇文章的主要目的就是为了写下这句话:“现在感觉每天工作都要到犯恶心的程度了,每天脑子...

  • 95:Proc report(二讲)---一些选项

    准备以后在文章标题加上序号,方便查看自己写了多少篇文章。 我们接着讲proc report,今天介绍proc re...

  • proc-tabulate-report

    proc report 得到的报告类型,部分依据于使用的数值类型。只要报告中起码有一个字符串变量,默认的报告就是每...

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

    4.17 用proc report产生一个简单的输出 Report包含print、means和tabulate、s...

  • ROC曲线

    install.packages('pROC') #下载pROC包 library(pROC) #调用pROC包 ...

  • Proc report(一讲)

    在家办公效率真是太低了!可能因为没人监督,所以总是边工作边去干其他“坏事”去了,我是很喜欢去办公室的,可能真的环境...

  • SAS画图--GTL(一)

    画图今天也起个头,proc report那些有时间会继续更进。 GTL全称是GraphicTemplateLang...

网友评论

    本文标题:102:proc report(四讲)---proc templ

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