Hello, I need to create a bullet graph by category. I have actual sales and predicted sales for individual products and the are grouped by category. I would like to use different colors for each category and in the legend show only actual and predicted sales. When I used ssgpanel, the p[roblem I'm facing is that the products in one category is also appearing in other category. Please see below for a reproducible example. I'm using SAS 9.3.
My question is: how can I create a bullet graph by data driven color schemes ?
data sales;
input cat $ product $ actual predict;
datalines;
X A 10 5
X B 12 15
X C 15 18
X D 13 20
Y E 20 15
Y F 22 25
Y G 25 38
Y H 23 40
;
run;
data attrs;
input id $ value $ fillcolor $;
datalines;
my_id X blue
my_id Y red
;
run;
proc sgpanel data = sales dattrmap=attrs;
PANELBY cat/LAYOUT= rowlattice;
hbar product/response = actual group = cat attrid=my_id ;
hbar product/response = predict group = cat BARWIDTH =0.2 FILLATTRS = (color = black) ;
run;
Products E,F,G and H appear in cat x even though cat x does not have these products vice versa.
Add UNISCALE=COLUMN to the PANELBY statement, and you should get what you want.
Add UNISCALE=COLUMN to the PANELBY statement, and you should get what you want.
Thank you this worked perfectly.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.