BookmarkSubscribeRSS Feed
mlogan
Lapis Lazuli | Level 10

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;

 

 

 

4 REPLIES 4
PaigeMiller
Diamond | Level 26
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
mlogan
Lapis Lazuli | Level 10
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.
kiranv_
Rhodochrosite | Level 12

it worked for me

 IF _c2_> _c3_ and country = ' ' THEN CALL DEFINE (_Col_, "style", "style={background=Yellow}");
mlogan
Lapis Lazuli | Level 10
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.

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 4 replies
  • 691 views
  • 0 likes
  • 3 in conversation