Можно ли условно изменить заголовки столбцов в отчете с помощью протокола proc в SAS?Я хотел бы изменить имена столбцов на основе групп данных в наборе данных.Пример: Давайте рассмотрим, есть 3 группы данных в моем наборе данных.Для первой группы я хотел бы, чтобы имена 3 переменных были A, B и C. Для второй группы я хотел бы, чтобы имена 3 переменных были D, E и F. Для третьей группы я хотел быимена трех переменных: X, Y и Z.
Спасибо
Я попытался установить временную переменную в отчете proc, используя блок вычисления, а затем использовать его в следующемвычислить блок для выполнения этой задачи.Тем не менее, я не могу использовать определение оператора в вычислительном блоке.Из-за этого недостатка мне не удалось.Ниже приведен код 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.В этих трех родительских подгруппах есть еще 3 детские возрастные подгруппы: возраст <65, возраст 65-74 и возраст 75-84.Количество предметов (N) в каждой возрастной подгруппе (ребенке) будет меняться в зависимости от количества предметов в их родительских подгруппах, таких как AB, CD и EF.Мне интересно узнать, смогу ли я условно отразить это изменение N в выходных данных, используя протокол proc. </p>