Yes, there is no automatic way of doing this simply. You will need to format your data in a way that the data describes where the splits will be. What I tend to do is to assign in a datastep each of the records I want to appear on one page. Then I use that variable to break my report. With this you could add in changes to the data to get the output you want. So assume that 10 records max per page:
data want;
set in;
retain pge 1;
if mod(_n_,10)=0 then pge=pge+1;
run;
You can then break on pge variable. Now you need to alter the data after the page change, maybe something like:
data want;
set in;
retain pge chg; if _n_=1 then pge=1;
if mod(_n_,10)=0 then do; pge=pge+1; chg=1; end; if chg=1 and lag(region)=catx(" ",region,"(contd.)) then region=catx(" ",region,"(contd.)"); else chg=0;
run;
Not tested this, but what I am effectively trying to do is to change the data looks like:
Germany pge=1
Germany pge=1
Germany (contd.) pge=2
In this way you control when the page break happens and as the data looks like the output the group should automatically handle that.
... View more