是否可以通过使用SAS中的proc报告来有条件地更改报告中列的标题?我想根据数据集中的数据组更改列的名称。例如:让我们考虑数据集中有3组数据。对于第一组,我希望3个变量的名称分别为A,B和C。对于第二组,我希望3个变量的名称分别为D,E和F。对于第三组,我想要的三个变量的名称分别是X,Y和Z。
谢谢
我试图通过使用一个计算块在proc报告中设置一个临时变量,然后在下面的计算块中使用它来完成此任务。但是,我不能在计算块中使用define语句。由于这种缺陷,我失败了。下面是我尝试过的SAS代码。
proc report data=x1 nowd headline headskip missing split="|" formchar(2)='_';
column ("&undl." pg grp subgrp aedecod _65 _6574 _7584);
define pg/order noprint;
define grp/order noprint;
define subgrp/order noprint;
define aedecod/display "Preferred Term" width=55 left spacing=0 flow;
compute before subgrp;
temp=subgrp;
endcomp;
compute _65;
if temp = "AB" then
define _65/ display "Age <65| (N=&le65_1.)| __________________| n (%) [Events]" width=20 style(column) = [just=D] flow;
if temp = "CD" then
define _65/ display "Age <65| (N=&le65_2.)| __________________| n (%) [Events]" width=20 style(column) = [just=D] flow;
if temp = "EF" then
define _65/ display "Age <65| (N=&le65_3.)| __________________| n (%) [Events]" width=20 style(column) = [just=D] flow;
endcomp;
compute _6574;
if temp = "AB" then
define _6574/ display "Age 65-74| (N=&bt6574_1.)| __________________| n (%) [Events]" width=20 style(column) = [just=D] flow;
if temp = "CD" then
define _6574/ display "Age 65-74| (N=&bt6574_2.)| __________________| n (%) [Events]" width=20 style(column) = [just=D] flow;
if temp = "EF" then
define _6574/ display "Age 65-74| (N=&bt6574_3.)| __________________| n (%) [Events]" width=20 style(column) = [just=D] flow;
endcomp;
compute _7584;
if temp = "AB" then
define _7584/ display "Age 75-84| (N=&bt7584_1.)| __________________| n (%) [Events]" width=20 style(column) = [just=D] flow;
if temp = "CD" then
define _7584/ display "Age 75-84| (N=&bt7584_2.)| __________________| n (%) [Events]" width=20 style(column) = [just=D] flow;
if temp = "EF" then
define _7584/ display "Age 75-84| (N=&bt7584_3.)| __________________| n (%) [Events]" width=20 style(column) = [just=D] flow;
endcomp;
break after pg/page;
break after grp/skip;
break after subgrp/page;
compute before _page_;
line @1 'Subgroup:' subgrp $122.;
endcomp;
compute after _page_;
line @1 134*'_';
endcomp;
run;
请查看我正在使用的上述代码。如您所见,存在三个父子组,AB,CD和EF。在这三个父子组中,还有其他三个子年龄组,分别是<65岁,65-74岁和75-84岁。每个年龄子组(儿童)中的主题数(N)将根据其父子组(AB,CD和EF)中的主题数而变化。我很想知道是否可以使用proc报告在输出中有条件地反映N的变化。