Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SAS ODS PDF:目录_Pdf_Sas_Tableofcontents - Fatal编程技术网

SAS ODS PDF:目录

SAS ODS PDF:目录,pdf,sas,tableofcontents,Pdf,Sas,Tableofcontents,下面是SAS代码示例: ODS LISTING CLOSE; GOPTIONS DEV=SASPRTC; ODS PDF FILE="test_toc.pdf" CONTENTS=YES ; ODS DOCUMENT NAME=REPORTTOC(WRITE); ODS PROCLABEL="1 - Title level 1" ; TITLE1 "1 - Title level 1" ; TITLE2 "1.1 - Title level 2: Horsepower" ; PROC REPO

下面是SAS代码示例:

ODS LISTING CLOSE;
GOPTIONS DEV=SASPRTC;
ODS PDF FILE="test_toc.pdf" CONTENTS=YES ;
ODS DOCUMENT NAME=REPORTTOC(WRITE);

ODS PROCLABEL="1 - Title level 1" ;
TITLE1 "1 - Title level 1" ;
TITLE2 "1.1 - Title level 2: Horsepower" ;
PROC REPORT DATA=SASHELP.CARS(obs=5) NOWINDOWS CONTENTS="1.1 - Title level 2: Horsepower"; 
    COLUMN Horsepower ;
    DEFINE Horsepower / DISPLAY PAGE CONTENTS="" ;*Note1: According to SAS documentation, contents="" should delete "Table 1" from the TOC but it does not work;
RUN;
TITLE2 "1.2 - Title level 2: Type" ;
PROC REPORT DATA=SASHELP.CARS(obs=5) NOWINDOWS CONTENTS="1.2 - Title level 2: Type"; 
    COLUMN type ;
    DEFINE type / DISPLAY PAGE CONTENTS="" ;*Note2: idem;
RUN;

ODS PROCLABEL="2 - Title level 1" ;
TITLE1 "2 - Title level 1" ;
TITLE2 "2.1 - Title level 2: Horsepower" ;
TITLE3 "2.1.1 - Title level 3: Horsepower" ;
PROC REPORT DATA=SASHELP.CARS(obs=5) NOWINDOWS CONTENTS="2.1 - Title level 2: Horsepower"; 
    COLUMN Horsepower ;
    DEFINE Horsepower / DISPLAY PAGE CONTENTS="2.1.1 - Title level 3: Horsepower" ;
RUN;
TITLE2 "2.2 - Title level 2: Type" ;
TITLE3 "2.2.1 - Title level 3: Type" ;
*Note3: Can I add another level of title (TITLE4) in the TOC before the display of this PROC REPORT? ;
PROC REPORT DATA=SASHELP.CARS(obs=5) NOWINDOWS CONTENTS="2.2 - Title level 2: Type"; 
    COLUMN type ;
    DEFINE type / DISPLAY PAGE CONTENTS="2.2.1 - Title level 3: Type" ;
RUN;

ODS DOCUMENT CLOSE;
ODS PDF CLOSE;
GOPTIONS RESET=ALL;
ODS LISTING;

PROC DOCUMENT NAME=REPORTTOC(update);

MOVE Report#2\Report#1 TO report#1 ;

MOVE Report#4\Report#1 TO report#3;
RUN;

ODS PDF FILE='test_toc.pdf' CONTENTS=YES ;
REPLAY; RUN;
ODS PDF CLOSE;
QUIT;

我的问题是,我希望能够在不使用更多过程的情况下在TOC中添加级别(参见代码示例中的注释3)

我想直接链接TOC中的TITLE语句,而不使用ODS PROCLABEL=“text”或CONTENTS=“text”


是否可能(我正在运行SAS 9.2)?

我想我看到了问题的一部分。似乎是
PROCLABEL
选项和
内容
关键字用于构建TOC,而不是
标题
关键字。
标题
关键字只是详细说明每页的标题应该是什么。我以您的示例为例,对其进行了简化,以说明这一点:

ODS LISTING CLOSE;
ODS PDF FILE="test_toc.pdf" CONTENTS=YES ;
ODS DOCUMENT NAME=REPORTTOC(WRITE);

GOPTIONS DEV=SASPRTC;

ODS PROCLABEL="Proc Label 1" ;
TITLE1 "1 - Title level 1 ";
TITLE2 "1.1 - Title level 2 " ;
TITLE3 "1.1.1 - Title level 3 " ;
TITLE4 "1.1.1.1 - Title level 4 " ;
PROC REPORT DATA=SASHELP.CARS(obs=5) NOWINDOWS CONTENTS="Contents 1"; 
    COLUMN Horsepower ;
    DEFINE Horsepower / DISPLAY PAGE CONTENTS="Contents 2" ;
RUN;

ODS DOCUMENT CLOSE;
ODS PDF CLOSE;
ODS LISTING;

通过查看文档,我不确定如何进一步嵌套,但这可能会帮助您找到解决方案,或帮助其他人找到答案。

虽然stack overflow社区喜欢帮助人们解决问题,他们确实希望人们提出问题,以表明他们曾试图首先自己解决问题。谷歌上有很多目录示例。如果您已经这样做了,并且在创建目录时遇到了特定问题,请包括显示您遇到问题的相关代码。什么是“自动拨号”?这是链接/书签吗?@RobertPenridge我真的首先尝试解决我的问题,我在目录上看到了很多东西,但只有2到3个级别。我制作的“最佳”TOC是使用“ODS PROCLABEL='My Label'”,并使用PROC文档重新组织我的报告。但是,如果我想拥有2或3个以上的级别,我不知道怎么做。@Reeza:“自动拨号”意味着我希望在标题前有自动号码:1 1.1 1.2等等。@Joe我编辑了我的问题;我希望它能告诉你我在问问题之前做了些什么,我希望我的问题更清楚、更有用。是的,这是我的问题,不要用“TITLE”关键字来构建TOC。@A.Beauvais再仔细研究一下,似乎需要
proc document
来实现这一点。我现在没有时间,但稍后将尝试重新访问。我开始阅读
proc document
上的一些文档。如果我发现有什么有趣的方法可以解决这个问题,我会告诉你的。