我使用proc报告和ods rtf遇到了这个问题。我想创建一个包含很多列的列表,这些列不适合一个页面。问题是列的第二部分不会立即打印在下一页上,但它会在列表的整个第一部分打印后打印。所以我没有像我想的那样在第二页上,但是例如在第15页,它看起来非常混乱。
有什么方法可以改变吗?我不知道这是一个proc报告问题还是ods rtf问题。
提前感谢您的帮助。
答案 0 :(得分:0)
尝试插入分页符:
data test0;
array vars{20} $;
do i = 1 to 100;
do j = 1 to 20;
vars{j} = put(rand('Normal'),8.4);
end;
output;
end;
run;
data test;
set test0;
pageno = ceil(_n_/37);
run;
ods rtf file='test.rtf';
proc report data=test headline nowd;
column pageno vars1 - vars20;
define pageno / order noprint;
break after pageno / page;
run;
ods rtf close;
在这个例子中,我已经确定表格中恰好有37行适合页面,所以我创建了pageno
,它允许我在37行之后打破表格。当我使用proc report
时,请记住在列语句中加入pageno
,并将其定义为order
或group
变量。使用break
语句实际上会导致中断。