Sas Proc report-调用Define更改分组变量下第二行的格式?
我想对几个列应用预定义的格式,但只对一个变量应用。问题是,这个变量有两个子组,左和右,我的代码只改变第一个子组的格式-左,而不是第二个子组-右。我想对第二个子组应用相同的格式-对 这是我的密码:Sas Proc report-调用Define更改分组变量下第二行的格式?,sas,proc-report,Sas,Proc Report,我想对几个列应用预定义的格式,但只对一个变量应用。问题是,这个变量有两个子组,左和右,我的代码只改变第一个子组的格式-左,而不是第二个子组-右。我想对第二个子组应用相同的格式-对 这是我的密码: DATA have; INPUT subject $ variable $ parameter $ V1-V6; DATALINES; A-001 qAF Left 1 2 3 4 5 6 A-001 qAF Right 1 2 3 4 5
DATA have;
INPUT subject $ variable $ parameter $ V1-V6;
DATALINES;
A-001 qAF Left 1 2 3 4 5 6
A-001 qAF Right 1 2 3 4 5 6
A-001 Cortical Left 1 1 1 1 1 1
A-001 Cortical Right 1 2 1 1 1 1
A-001 Posterial Left 1 1 1 2 1 1
A-001 Posterial Right 1 1 1 1 1 3
;
RUN;
PROC FORMAT;
VALUE cort
1 = 'C1'
2 = 'C2';
RUN;
PROC REPORT DATA = have;
COLUMNS subject variable parameter V1 V2 V3 V4 V5 V6 dummy;
DEFINE subject / ORDER;
DEFINE variable / ORDER;
DEFINE dummy / COMPUTED NOPRINT;
COMPUTE dummy;
IF variable = 'Cortical' THEN DO;
DO i = 4 TO 9;
CALL DEFINE (i, 'format', 'cort.');
END;
END;
ENDCOMP;
COMPUTE AFTER variable;
LINE ' ';
ENDCOMP;
OPTIONS missing = '';
RUN;
您需要保存变量的值。参见前面的计算
PROC REPORT DATA = have;
COLUMNS subject variable parameter V1 V2 V3 V4 V5 V6 dummy;
DEFINE subject / ORDER;
DEFINE variable / ORDER;
DEFINE dummy / COMPUTED NOPRINT;
compute before variable;
hold=variable;
endcomp;
COMPUTE dummy;
IF hold = 'Cortical' THEN DO;
DO i = 4 TO 9;
CALL DEFINE (i, 'format', 'cort.');
END;
END;
ENDCOMP;
COMPUTE AFTER variable;
LINE ' ';
ENDCOMP;
OPTIONS missing = '';
RUN;
您需要保存变量的值。参见前面的计算
PROC REPORT DATA = have;
COLUMNS subject variable parameter V1 V2 V3 V4 V5 V6 dummy;
DEFINE subject / ORDER;
DEFINE variable / ORDER;
DEFINE dummy / COMPUTED NOPRINT;
compute before variable;
hold=variable;
endcomp;
COMPUTE dummy;
IF hold = 'Cortical' THEN DO;
DO i = 4 TO 9;
CALL DEFINE (i, 'format', 'cort.');
END;
END;
ENDCOMP;
COMPUTE AFTER variable;
LINE ' ';
ENDCOMP;
OPTIONS missing = '';
RUN;