SAS-带有更改书签的pdf输出

SAS-带有更改书签的pdf输出,pdf,sas,bookmarks,Pdf,Sas,Bookmarks,我的问题如下-我有两个数据集,我通过宏循环2*2图从中创建。我将这两个图绘制到pdf文件中,第一页有前两个图,第二页有其他图 输出pdf很好,我唯一想更改的是书签。我希望它们包含一些关于图表的详细信息——每个图表都有一个单独的原始书签 有什么简单的方法可以做到这一点吗?我已经通过proc报告找到了一些复杂的解决方案,但是对于我当前的代码有什么简单的方法吗 data out_i_a; set sashelp.retail; run; data out_ii_b; set sashelp.retai

我的问题如下-我有两个数据集,我通过宏循环2*2图从中创建。我将这两个图绘制到pdf文件中,第一页有前两个图,第二页有其他图

输出pdf很好,我唯一想更改的是书签。我希望它们包含一些关于图表的详细信息——每个图表都有一个单独的原始书签

有什么简单的方法可以做到这一点吗?我已经通过proc报告找到了一些复杂的解决方案,但是对于我当前的代码有什么简单的方法吗

data out_i_a; set sashelp.retail; run;
data out_ii_b; set sashelp.retail; run; 

data y;
length saz tef $100;
input saz $ tef $; 
datalines;
i a 
ii b
;
run;

%macro grafy();
proc sql;
 select count(*) into: pocet from y;
quit;

ods _all_ close;
goptions hsize=20cm vsize=8cm;
ods pdf file="\\srv05\nt05a\GRAF\TOT_testing.pdf";
ods layout gridded columns=1;


%do i=1 %to &pocet;
data _null_;
  set y (obs=&i);
 call symput("saz" ,strip(saz));
 call symput("tef" ,strip(tef));
run;

ods region;
ods pdf text="&saz._&tef";
symbol1 interpol=join height=10pt VALUE=NONE LINE=1 WIDTH=1 CV= _STYLE_;
symbol2 interpol=join height=10pt VALUE=NONE LINE=1 WIDTH=1 CV= _STYLE_;
Legend1 value=('SALES' 'YEAR');
axis1 label=('# sales');
axis3 label=('# year');
axis2 label=('date');
proc gplot data= out_&saz._&tef;
plot (SALES)*DATE   / overlay skipmiss
VAXIS=AXIS1 
HAXIS=AXIS2 LEGEND=Legend1;
plot2 (YEAR)*DATE / overlay skipmiss
VAXIS=AXIS3
HAXIS=AXIS2 LEGEND=Legend1;
run;

ods region;
symbol1 interpol=join height=10pt VALUE=NONE LINE=1 WIDTH=1 CV= _STYLE_;
symbol2 interpol=join height=10pt VALUE=NONE LINE=1 WIDTH=2 CV= _STYLE_;
Legend1 value=('year' 'month');
axis1 label=('in %, p.a.');
axis2 label=('date');
proc gplot data= out_&saz._&tef;
 plot (YEAR MONTH)*DATE   / overlay skipmiss
 VAXIS=AXIS1 
 HAXIS=AXIS2 LEGEND=Legend1;
run;
%end;

ods layout end;
ods pdf close;

%mend;
%grafy();
当前书签(待更改)是自动创建的,如下所示:

GPlot程序-按日期绘制年份图

GPlot程序-按日期绘制月份

GPlot程序-按日期绘制年份图

GPlot程序-按日期绘制月份

  • 在每个
    Proc GPLOT
    之前,您可以发出
    ODS PROCLABEL
    语句来替换书签顶层显示的默认文本
  • /description=
    添加到每个
    PLOT
    语句中,以指定书签二级文本
例如:

ODS PROCLABEL "&saz &tef SALES";  /* ADD THIS */

proc gplot data= out_&saz._&tef;
plot (SALES)*DATE   / overlay skipmiss

DESCRIPTION = "by Date" /* ADD THIS */

VAXIS=AXIS1 
HAXIS=AXIS2 LEGEND=Legend1;
plot2 (YEAR)*DATE / overlay skipmiss
VAXIS=AXIS3
HAXIS=AXIS2 LEGEND=Legend1;

事实上,如果我点击书签,pdf文件没有跳转到正确的页面上,有什么具体的原因吗?这听起来像是一个新问题——你能用简单的工作代码创建一个新问题,演示pdf输出破坏了书签吗?