Hello,
Inside the Proc Report, I am trying to use a compute block to mask some of the values. I need all the percentages that are less than 10% to say 'Less than 10%'
while the rest of them to have the original value (say 23%, 34.78%....)
proc format;
value tgt_pct_mask 0-10%='Less than 10%'
10%-100%='More than 10%' ;
run;
PROC REPORT DATA=OVERVIEW_OP;
COLUMN DESC TOT_COMP REG BIO_SCREEN MAIL HEALTH;
DEFINE DESC / DISPLAY "Segment";
DEFINE TOT_COMP/ DISPLAY "Completed Program";
DEFINE REG / DISPLAY "Registered ";
DEFINE BIO_SCREEN / DISPLAY "Screening ";
DEFINE MAIL / DISPLAY "Mail Form ";
DEFINE HEALTH_/ DISPLAY "Health ";
compute TOT_COMP;
if TOT_COMP<0.1 then
do;
call define(_col_,'format',tgt_pct_mask);
end;
endcomp;
quit;
run;
But I keep getting this error - ERROR: Value for FORMAT has wrong type in CALL DEFINE. And can anyone confirm the usage of percentages in a proc format (Is that correct)? Also, if I need to format all the columns, where does the do loop go?
I found this note(Sample 38776:) but it does not seem to fit my requirement exactly, because I need it for all the columns but to work only for values that are less than 10%.
Does anyone have suggestions?
Thanks,
saspert
... View more