Sas 如何使用PROC REPORT生成没有任何行的表?
我正在为多个主题创建单独的表格。有些受试者没有任何数据。如果没有,我希望能够为具有相同列标题但没有行的数据的主题创建相同的表。在没有行的情况下,我希望能够有一行显示“无数据” 例如,以下内容将生成一个表,其中包含一行空数据和以下注释:Sas 如何使用PROC REPORT生成没有任何行的表?,sas,proc-report,Sas,Proc Report,我正在为多个主题创建单独的表格。有些受试者没有任何数据。如果没有,我希望能够为具有相同列标题但没有行的数据的主题创建相同的表。在没有行的情况下,我希望能够有一行显示“无数据” 例如,以下内容将生成一个表,其中包含一行空数据和以下注释: data dat; Visit=''; Age=.; Height=.; Weight=.; run; proc report nowd data=dat; column ('Visit Information' Visit Age Heig
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''代码>它根本不生成表。有什么想法吗?我在下面做的是有条件地将行高设置为零,并将所有可能导致行高非零的因素设置为零或不存在(边框、填充/边距、字体大小)
在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;
当然,只有当您的数据中有一行响应者丢失时(或者至少有一个值可以设置为条件,不需要丢失),这才有效。这将是什么目的地?PDF、HTML等?它将用于RTF,但对于RTF和HTML应该是一样的。