BookmarkSubscribeRSS Feed
gamei0006
Calcite | Level 5

I need highlight each other row and at same time color letter if a>4000, but my code below doesn't work....    can you guys see issue? Thanks!

compute ID;
         count+1;
         if
         a>4999.9999999 and mod(count,2)=1 then
         call define(_row_, "style", "style=[color=red background=white]");
   else if
        a>4999.9999999 and mod(count,2)=0 then
         call define(_row_, "style", "style=[color=red background=lightgrey]");
   else if
         mod(count,2)=1 and a=<4999.9999999  then
            call define(_row_, "style", "style=[background=white]");
         else if
         mod(count,2)=0 and a=<4999.9999999 then
         call define(_row_, "style", "style=[background=lightgrey]");

      endcomp;

2 REPLIES 2
Ksharp
Super User

What is your columns statement ?

Try the following one :

compute A;




Xia Keshan

Cynthia_sas
Diamond | Level 26

HI;

  You really need to post more of your code. for example, if the COLUMN statement is:

COLUMN A ID xxx yyy zzz; Then it should be OK for you to test A in the COMPUTE block for ID. But if the COLUMN statement is:

COLUMN ID A xxx yyy zzz; then  going by the PROC REPORT "left-to-right" rule, at the point in time when PROC REPORT is handling the value for ID, it has not yet placed the value for A on the report row, so the value of A cannot be tested in the compute block for ID.

  Another possibility, which nobody can comment on because you did not include your DEFINE statement for A is whether A is a default usage of DISPLAY or (more likely) since A is numeric a DEFAULT usage of SUM. If A is a default usage of SUM, then you have to test on A.SUM as the compound name (variable_name.statistic - -which is how PROC REPORT wants to reference numeric variables with a usage of ANALYSIS, which is the default usage if you do NOT have a DEFINE statement or you do not list a usage on the DEFINE statement for a numeric variable).

  All of this is outlined well in the PROC REPORT documentation. And, here's an example to get you started http://support.sas.com/resources/papers/proceedings13/366-2013.pdf it uses SASHELP.CLASS, starting around page 12.

cynthia

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1541 views
  • 0 likes
  • 3 in conversation