Click here to see the SAS code.
Click here to see the example.
This is a SAS/Graph imitation/enhancement of one of
Charles Kyd's Exceluser dashboards.
In the top section, the very dense yearly charts are created
using "proc gplot" with the 'needle' interpolation, and the
4-bar current-month charts are created using "proc gchart".
All of the commentary text, and tables are created using annotated
text in a "proc gslide" - this is a bit cumbersome, but it gives
you total flexibility (and that's pretty much the way you have to
do it, if you want to put multiple graphics on the same page with
For this example, I hard-code most of the numeric values.
In a real-life version, you'd want to make those macro variables,
so that you can canculate the values on-the-fly (since I don't have
the original data these values were calculated/derived from, I didn't
think there was much point to setting them up as macro variables in
the proof-of-concept). I did set up all the numeric variables for
the "Sales and Expense Analysis" section as macro variables, just
to show how it could be done.
In the "STORES" section (2nd from bottom) the charts in the
original graph didn't make much sense to me, so I replaced them
with something that (I think) makes more sense - a chart showing
the growth "Target -vs- Actual". This is a bar chart with an
annotated target marker -- if you meet the target, then the marker
is green (if you don't meet the target, it's red).
Also, I changed the order of the columns in several reports.
Since the graphs at the top of the page had the year on the left,
and the month (ie, most current values) on the right, I ordered
the columns in the table the same way.
In the bottom section, I changed it so that the % shows the difference
in ours and the competitor's price, and if the competitor is cheaper
I make the price red.
And, the final improvement over the original - I added html charttips
and drilldown capability to the bar charts, and a few pieces of text
(such as "Mel's Diner"). I don't have any detailed data to actually
drill-down to, so I just have it drilldown to itself (but this gives
you a jump-start on adding drilldowns, since you have the code ready
Back to Samples Index