Hi, I am working on a report and ran into the variable uninitialized error. I tried lots of different ways but still can't fix this so hoping i can get some help here. Below is my data. data a; input channel $ date date9. min_price; cards; CHANNEL1 01JAN2017 500 CHANNEL2 01JAN2017 350 CHANNEL1 02JAN2017 300 CHANNEL2 02JAN2017 900 CHANNEL1 03JAN2017 800 CHANNEL2 03JAN2017 750 CHANNEL1 04JAN2017 900 CHANNEL2 04JAN2017 1000 ; run; I am trying to create a report using PROC REPORT and show the minimum price for each channel on every day. Then I want to highlight the cells that are 'CHANNEL1' and having minimum price <=400. However, i got the min_price is uninitialized error and the output has the whole 'CHANEL1' row highlighted. What am I doing wrong here and how can I fix this? Any inputs will be appreciated. proc report data=test; column channel date,min_price; define channel / 'Channel' group; define date / 'Date' across; define min_price / 'Minimum Price' min; compute min_price; if channel='CHANNEL1' and min_price<=400 then call define(_col_,"style","style=[fontweight=bold background=green foreground=white]"); run; Update: Another solution: data test;
input channel $ date date9. min_price;
cards;
CHANNEL1 01JAN2017 500
CHANNEL1 02JAN2017 300
CHANNEL1 03JAN2017 800
CHANNEL1 04JAN2017 350
CHANNEL2 01JAN2017 350
CHANNEL2 02JAN2017 900
CHANNEL2 03JAN2017 750
CHANNEL2 04JAN2017 1000
;
run;
proc format;
value minfore
low-400 = 'white'
other = 'black' ;
value minback
low-400 = 'green'
other = 'white' ;
run;
proc report data=test;
column channel date,min_price;
define channel / 'Channel' group;
define date / 'Date' across f=date9.;
define min_price / 'Minimum price' analysis sum style(column)=[fontweight=bold background=minback. foreground=minfore.];
compute channel;
if channel='CHANNEL2' then call define(_row_,"style","style=[fontweight=medium background=white foreground=black]");
endcomp;
run;
... View more