DATA Step, Macro, Functions and more

CALL DEFINE - Highlighting cells of the column

Reply
Super Contributor
Posts: 254

CALL DEFINE - Highlighting cells of the column

Hi All,

I am stuck with highlighting some cells of a column based on a comparison of cells of another column. In the following code I tried to use CALL DEFINE so that it highlights when column _c2_ is bigger than _c3_. Can someone help me please.

 

PROC SQL;
CREATE TABLE sale AS 
SELECT country, 
	   region, 
       prodtype, 
       product, 
	   actual LABEL=''FORMAT=comma10.2,
	   predict LABEL=''FORMAT=comma10.2,
	   month
FROM sashelp.prdsale 
WHERE mod(monotonic(),75)=0
ORDER BY ranuni(94612);
QUIT;

PROC REPORT DATA=sale NOWINDOWS MISSING HEADLINE HEADSKIP OUT=test;
COLUMN country (region prodtype) , predict;
DEFINE country / GROUP;
DEFINE region / ACROSS;
DEFINE prodtype / ACROSS;
RBREAK AFTER / SUMMARIZE SKIP ol;
COMPUTE predict;
    IF _c2_>_c3_.sum THEN CALL DEFINE (_Col_, "style", "style={background=Yellow}");
ENDCOMP;
RUN;

 

 

 

Respected Advisor
Posts: 3,261

Re: CALL DEFINE - Highlighting cells of the column

proc report data=sale nowindows missing headline headskip out=test;
    column country (region prodtype) , predict;
    define country / group;
    define region / across;
    define prodtype / across;
    rbreak after / summarize skip ol;
    compute region;
        if _c2_>_c3_ then call define (_col_, "style", "style={background=yellow}");
    endcomp;
run;
--
Paige Miller
Super Contributor
Posts: 254

Re: CALL DEFINE - Highlighting cells of the column

Posted in reply to PaigeMiller
Hi PaigeMiller, Thanks for the code, but it is not producing the output according to the logic. With the logic IF _c2_>_c3_, the cell containing 1,982.00 should be highlighted only, but it is not working that way. Would you please look into it. Thanks.
PROC Star
Posts: 549

Re: CALL DEFINE - Highlighting cells of the column

it worked for me

 IF _c2_> _c3_ and country = ' ' THEN CALL DEFINE (_Col_, "style", "style={background=Yellow}");
Super Contributor
Posts: 254

Re: CALL DEFINE - Highlighting cells of the column

Hi Kiranv, Thanks for the code, but it is not producing the output according to the logic. It is highlighting the total column. With the logic IF _c2_>_c3_, the cell containing 1,982.00 should be highlighted only, but it is not working that way. Would you please look into it. Thanks.
Ask a Question
Discussion stats
  • 4 replies
  • 85 views
  • 0 likes
  • 3 in conversation