有时候,为了output好看,和人出门打扮一样,要得体精致,最重要还是要整齐。output的格式也是,你一页放几条records,record是否是同属一个小类下的细分类,如果是那所有小类下的细分类应该在一页(一般情况可以)这样看才得体。下面是一套普遍适用的code,简单的可以直接group=ceil(_n_/n), n是一页放的条数。对于数据不是很有规律的,可以参考下面的code,来自一位有人的建议。
data stp_1;
do param=1,2,3,4,5;
do avisitn=0,0.5,6,8,12,16;
do stat=1,2,3,4;
output;
end;
end;
end;
run;
proc sort data=stp_1(keep=param avisitn) out=stp_2 nodupkey;
by param avisitn;
run;
data stp_3;
set stp_2;
if avisitn in (0,0.5,6) then cat=1;
else if avisitn in (8,12) then cat=2;
else if avisitn in (16) then cat=3;
cat_=lag(cat);
retain group;
if cat_=. then group=1;
else if cat_^=cat then group+1;
keep param avisitn group;
run;
proc sort data=stp_3;
by param avisitn;
run;
proc sort data=stp_1;
by param avisitn;
run;
data final;
merge stp_1(in=st1_) stp_3;
by param avisitn;
run;