Proc报告 - 每页第一行的打印ID

时间:2017-03-14 09:48:05

标签: sas proc-report

我正在报告数据子组的大量值列表。我有我目前想要的形式的数据,只是做一个美容改变。我试图找到一种方法在每页的第一行打印子组的值,但为其余的值清空。

我尝试使用con <- DBI::dbConnect(odbc::odbc(), driver = "SQL Server", server = <serverURL>, database = <databasename>, uid = <username>, pwd = <passwd>) 中的ID选项,使用define块,compute after,分页列并使用{{{ 1}}声明,但我不能用这些方法维护我的数据结构。

以下是一些示例数据和基本过程报告:

compute after _page_

因此,在此示例中,A和B的值在多个页面上运行。我希望A和B出现在他们的第一次观察和第一次观察新页面上。

任何帮助都一如既往地受到赞赏。

1 个答案:

答案 0 :(得分:0)

目前尚不清楚你想要什么,但这里有几个选择。

一:compute before _page_。这让你把它作为第一个单元放在表中,但看起来有点......很奇怪。

二:定义一个by组。它会在by组的开头打印出来。

*COMPUTE BEFORE _PAGE_ option;

ods pdf file="c:\temp\test.pdf";
proc report data = test2  nocenter nowd ;

define ID / order id ;
define variable1 / display;
define variable2 /display;

compute after ID;
  line '';
  endcomp;

compute before _page_;  *prints ID here - can add more text if you want;
  line ID $;
endcomp;

run;
ods pdf close;


*BY groups;

ods pdf file="c:\temp\test.pdf" startpage=never;
proc report data = test2  nocenter nowd ;
by id;                                    *adding by group here;
define ID / order id ;
define variable1 / display;
define variable2 /display;

compute after ID;
  line '';
  endcomp;

run;
ods pdf close;