Sort of...I don't understand why you show Page X of Y in the footnote and then roll your own for a LINE statement. You don't explain what %maxpage is doing and it's still not clear whether this is all going into 1 PDF/RTF output or multiple -- since you only show 1 PROC REPORT step. It sounds like you want/need a macro program that will generate the titles just before each report step based on dataset name. Otherwise, how will you distinguish which titles go with which report, unless you use the table number or something as one of your parameters.
But for a quick proof of concept, in the program below, I make a dataset that holds some data specific title and number of obs information and then, I define a macro program to read that dataset and only get the row that meets my criteria and make TITLE statements. I could have put the title statements inside the macro program too, however, you showed your TITLES with the PROC REPORT, so I did that too. I modified something I already had that was using ODS PDF, but you will get the general idea of how &T1, &T1 and &useobs are treated in the 3 PROC REPORT steps.
cynthia
cynthia
data titles;
length dsn $40 t1 t2 $80 ;
infile datalines dlm=',' dsd;
input dsn $ t1 $ t2 $ wantobs;
return;
datalines;
"sashelp.class","These Are The Students","At My School",5
"sashelp.cars","These Are The Cars","And Their Prices",6
"sashelp.heart","This Is The Jackson Heart Study","To Test With",10
;
run;
%macro maketitles(dsn=);
%let wantdsn = %upcase(&dsn);
data _null_;
set work.titles;
where upcase(dsn) = "&wantdsn";
call symputx('t1',t1,'G');
call symputx('t2',t2,'G');
call symputx('useobs',wantobs,'G');
run;
%mend maketitles;
%maketitles(dsn=sashelp.class)
ods pdf file='c:\temp\report_class.pdf';
proc report data=sashelp.class(obs=&useobs);
title "&t1";
title2 "&t2 and number of obs is &useobs";
run;
title;
ods pdf close;
%maketitles(dsn=sashelp.heart)
ods pdf file='c:\temp\report_heart.pdf';
proc report data=sashelp.heart(obs=&useobs);
column Status deathcause AgeCHDDiag Sex AgeatStart Height Weight Diastolic Systolic MRW Smoking AgeatDeath Cholesterol;
title "&t1";
title2 "&t2 and number of obs is &useobs";
run;
title;
ods pdf close;
%maketitles(dsn=sashelp.cars)
ods pdf file='c:\temp\report_cars.pdf';
proc report data=sashelp.cars(obs=&useobs);
column make model type msrp mpg_city mpg_highway;
title "&t1";
title2 "&t2 and number of obs is &useobs";
run;
title;
ods pdf close;
... View more