下页继续长表

时间:2015-11-24 08:51:05

标签: sas report ods

我使用proc报告和ods rtf遇到了这个问题。我想创建一个包含很多列的列表,这些列不适合一个页面。问题是列的第二部分不会立即打印在下一页上,但它会在列表的整个第一部分打印后打印。所以我没有像我想的那样在第二页上,但是例如在第15页,它看起来非常混乱。

有什么方法可以改变吗?我不知道这是一个proc报告问题还是ods rtf问题。

提前感谢您的帮助。

1 个答案:

答案 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,并将其定义为ordergroup变量。使用break语句实际上会导致中断。