Вы можете перенести существующие данные в категориальную форму, что даст вам больший контроль над макетом измерения строки.Переместите ROWPCTN
в измерение столбца, чтобы исключить пустой столбец (в заголовке строки), который в противном случае появился бы, если бы ROWPCTN
было в измерении строки.Используйте NOCELLMERGE
для предотвращения слияния ячеек в первой строке данных.
Например, начинайте с
data have;
do personid = 1 to 1000;
area = cats('area_',0 + floor(5 * ranuni(123)));
age = cats('age_',13 + floor(7 * ranuni(123)));
sex = cats('sex_',1 + floor( 2 * ranuni(123)));
q21x = byte(65+(5*ranuni(123)));
output;
end;
label area = 'Area Label';
run;
proc tabulate data=have;
class area age sex q21x;
table
( area age sex ) * (rowpctn=' '), q21x
/ nocellmerge;
run;
Иверсия транспонированных данных
proc transpose data=have out=have_for_table;
by personid q21x notsorted;
var area age sex;
run;
proc tabulate data=have_for_table missing;
class _name_ _label_ col1 q21x;
table
_name_='' * _label_='' * col1=''
,
q21x * (rowpctn='')
/
nocellmerge
;
run;