1

我创建了以下形式的报告:

ID   VAR1
      VAR2

111  1
      2
     
     3
      4

     5
      6

222  1
      2

我需要遵循一个要求,如果分页符出现在 ID 块内,则 ID 值必须显示在下一页上。不接受以下表格:

ID   VAR1
      VAR2

111  1
      2
     
     3
      4
-----PAGE BREAK----
     5
      6

222  1
      2

分页符不得出现在 VAR1 和 VAR2 之间,或者:

      VAR2

111  1
      2
     
     3
-------PAGE BREAK--------      
      4

     5
      6

222  1
      2

报告应如下所示:

ID   VAR1
      VAR2

111  1
      2
     
     3
      4
-------PAGE BREAK-----
111  5
      6

222  1
      2



问题是 - 如何获得结果?我不想在单独的页面上显示每个 ID,因为唯一 ID 块的长度不同。因此,没有像为不同的 ID 创建具有不同值的分页符变量这样简单的解决方案。我想避免修改我输入 proc 报告的数据集中的任何变量(分组/排序变量除外)。

我将不胜感激对此的任何意见。谢谢。

4

1 回答 1

1

您需要使用该spanrows选项,如PharmaSUG 2011 的这篇论文中所示 - Beyond the Basics: Advanced REPORT Procedure Tips and Tricks Updated for SAS® 9.2。你不分享你的代码,但它会上PROC REPORT线。这是论文中的示例:

data spanrows_example;
 set sashelp.class
 sashelp.class
 sashelp.class;
run;

ods pdf file='c:\spanrows.pdf';
proc report nowd data= spanrows_example spanrows;
 col sex age name height weight;
 define sex / order;
run;
ods pdf close; 

但是,你不一定能得到你想要的 var1/var2,如果你靠近一个页面而不强制分页(这很难准确计算)。

于 2021-08-17T19:00:04.883 回答