当使用ODS来进行结果或数据集输出的时候,可以同时设置多个ODS 命令,同时输出到多个不同的文件。使用_ALL_ 表示关闭所有的ODS输出窗口,比如:
ods html file(body)="html-file-pathname";
ods html file="pdf-file-pathname";
proc print data=sasuser.admit;
run;
ods _all_ close;
1.ODS HTML (BODY\CONTENTS\FRAME)
ods html body="html-file-pathname"或者fileref(提前在filename语句中定义)或者catalog的条目"entry-name.html"
contents="contents-file specification"
frame="frame-file-specification";
ods html close;
body 是输出结果主体内容;
contents是输出主体内容的目录;
frame 是将目录和主体内容结合起来一起放。
所以如果设置frame选项则必须设置contents选项;三者关系如图所示
举例如下:
2.URL
ODS HTML 创建FRAME 文件时使用链接,分别链接至BODY 文件和CONTENTS文件,链接名称分别是在BODY和CONTENTS中使用的文件名。
如果为了可以方便文件移动,需要在BODY和CONTENTS后使用URL选项来使用URL的链接名称进行链接,避免HTML内互相调用的网址则会失效。URL中可以是文件名(只要文件放在同一个文件夹即可,也可以包含具体引用地址或文件未来存放位置的全称。如果URL是文件名则使用如下:
ods html body="c:\records\data.html"(url="data.html")
contents="c:\records\toc.html"(url="toc.html")
frame="c:\records\frame.html";
加上URL以后链接上图文件名称修改为下图URL名称,上图链接名称来源前述举例的的SAS程序
当URL是包含网址的全称举例如下:
链接修改为下图
此时需要查看FRAME文件则需提前把BODY和TOC文件放在该网址中。
值得注意的是:在FRAME含有链接至body和contents文件的链接,CONTENTS文件含有链接至BODY文件的链接。
3.PATH
可以使用PATH =选项来提前设置输出文件的路径,如果同时使用URL=NONE路径选项则避免在文件互相调用时添加PATH路径,如果同时使用URL="url location" 则是在文件互相调用时添加自定义路径";
path="路径名"或者filerel(在filename中定义)或者SAS目录(libname.catalog)
举例如下:
如果在SAS windows环境下使用加上PATH可避免报错。
4.style
给输出的结果添加样式模板,可以在proc template创建用户自定义的样式模板