0

我正在为多个主题创建单独的表格。有些科目没有任何数据。当他们不这样做时,我希望能够为具有相同列标题但没有行的数据的主题创建同一个表。在没有行的情况下,我希望能够有一行显示“无数据”。

例如,下面将生成一个表格,其中包含一行空数据和下面的注释:

data dat;
  Visit='';
  Age=.;
  Height=.;
  Weight=.;
run;

proc report nowd data=dat;
  column ('Visit Information' Visit Age Height Weight);
  compute after / style=[just=c];
    line 'No Data';
  endcomp;
run;

我想要的是与上面生成的表相同的表,中间没有空数据行,但有列标题和“无数据”的注释。显然,当我使用限制时where visit ne '';,它根本不会产生任何表格。有任何想法吗?

4

1 回答 1

2

我在下面所做的是有条件地将行高设置为零,并将可能导致行高非零的所有各种内容设置为零或不存在(边框、填充/边距、字体大小)。

在 HTML 中,这非常有效;在 RTF 中它工作得几乎完美,可能需要额外的样式选项,或者不可能完全消除 RTF 中的行。

data dat;
  Visit='';
  Age=.;
  Height=.;
  Weight=.;
run;
ods rtf file="c:\temp\test.rtf";
proc report nowd data=dat;
  column ('Visit Information' Visit Age Height Weight);
  compute visit;
    if missing(visit) then do;
     call define(_row_,'style','style={height=0px fontsize=0pt margin=0px padding=0px borderstyle=none}');
    end;
  endcomp;
  compute after _page_ / style=[just=c];
    line 'No Data';
  endcomp;
run;
ods rtf close;

这当然只有在数据中存在被调查者缺失的行时才有效(或者至少有一个可以作为条件的值,不需要缺失)。

于 2014-08-14T14:26:02.023 回答