/*--Data in classified form--*/ data YTD_2005_Group; input Metric $ Group $ Level Value Target Index; datalines; Revenue Bad 150 270 250 3 Revenue OK 80 . . 1 Revenue Good 70 . . 2 Expense Bad 35 26 27 2 Expense OK 40 . . 1 Expense Good 75 . . 3 Order Bad 350 325 550 3 Order OK 150 . . 1 Order Good 100 . . 2 ; %let gpath='.'; %let dpi=200; /*--Template for bullet Panel--*/ proc template; define statgraph KPI_Panel_Group; dynamic _element; begingraph; entrytitle '2005 YTD' / textattrs=(weight=bold size=14); layout lattice / rows=3 columns=2 columnweights=(0.25 0.75) rowgutter=20; layout gridded; entry halign=right "Revenue" / textattrs=graphtitletext(weight=bold size=12); entry halign=right "US $(1000)"; endlayout; layout overlay / yaxisopts=(display=none offsetmin=0.0 offsetmax=0.0) xaxisopts=(display=(ticks tickvalues) offsetmin=0.0 offsetmax=0.0 tickvalueattrs=(size=8)); barchart x=eval(ifc(Metric EQ 'Revenue', Metric, ' ')) y=level / group=group name='a' orient=horizontal barwidth=1.0 outlineattrs=(color=black) skin=satin index=revindex; barchart x=eval(ifc(Metric EQ 'Revenue', Metric, ' ')) y=value / barwidth=0.3 fillattrs=_element orient=horizontal skin=modern; scatterplot x=eval(ifn(Metric EQ 'Revenue', target, .)) y=eval(ifc(Metric EQ 'Revenue', Metric, ' ')) / markerattrs=(symbol=trianglefilled size=18 color=black) discreteoffset=-0.15; scatterplot x=eval(ifn(Metric EQ 'Revenue', target, .)) y=eval(ifc(Metric EQ 'Revenue', Metric, ' ')) / markerattrs=(symbol=trianglefilled size=14 color=white) discreteoffset=-0.17 name='target' legendlabel='Target'; endlayout; layout gridded; entry halign=right "Expenses" / textattrs=graphtitletext(weight=bold size=12); entry halign=right "US $(1000)"; endlayout; layout overlay / yaxisopts=(display=none offsetmin=0.0 offsetmax=0.0) xaxisopts=(display=(ticks tickvalues) offsetmin=0.0 offsetmax=0.0 reverse=true tickvalueattrs=(size=8)); barchart x=eval(ifc(Metric EQ 'Expense', Metric, ' ')) y=level / group=group orient=horizontal barwidth=1.0 outlineattrs=(color=black) skin=satin index=revindex; barchart x=eval(ifc(Metric EQ 'Expense', Metric, ' ')) y=value / barwidth=0.3 fillattrs=_element orient=horizontal skin=modern; scatterplot x=eval(ifn(Metric EQ 'Expense', target, .)) y=eval(ifc(Metric EQ 'Expense', Metric, ' ')) / markerattrs=(symbol=trianglefilled size=18 color=black) discreteoffset=-0.15; scatterplot x=eval(ifn(Metric EQ 'Expense', target, .)) y=eval(ifc(Metric EQ 'Expense', Metric, ' ')) / markerattrs=(symbol=trianglefilled size=14 color=white) discreteoffset=-0.17; endlayout; layout gridded; entry halign=right "Avg Order Size" / textattrs=graphtitletext(weight=bold size=12); entry halign=right "US $"; endlayout; layout overlay / yaxisopts=(display=none offsetmin=0.0 offsetmax=0.0) xaxisopts=(display=(ticks tickvalues) offsetmin=0.0 offsetmax=0.0 tickvalueattrs=(size=8)); barchart x=eval(ifc(Metric EQ 'Order', Metric, ' ')) y=level / group=group orient=horizontal barwidth=1.0 outlineattrs=(color=black) skin=satin index=revindex; barchart x=eval(ifc(Metric EQ 'Order', Metric, ' ')) y=value / barwidth=0.3 fillattrs=_element orient=horizontal skin=modern; scatterplot x=eval(ifn(Metric EQ 'Order', target, .)) y=eval(ifc(Metric EQ 'Order', Metric, ' ')) / markerattrs=(symbol=trianglefilled size=18 color=black) discreteoffset=-0.15; scatterplot x=eval(ifn(Metric EQ 'Order', target, .)) y=eval(ifc(Metric EQ 'Order', Metric, ' ')) / markerattrs=(symbol=trianglefilled size=14 color=white) discreteoffset=-0.17; endlayout; columnheaders; entry ' '; discretelegend 'a' 'target'/ border=false backgroundcolor=lightgray valueattrs=(size=8); endcolumnheaders; endlayout; endgraph; end; run; /*--Draw the Graph--*/ ods listing style=listing image_dpi=&dpi gpath=&gpath; ods graphics / reset width=5in height=2.5in imagename="KPI_Group_Panel"; proc sgrender data=YTD_2005_Group template=KPI_Panel_Group; dynamic _element='graphdata7'; run; /*--Draw the Graph - Journal--*/ ods listing style=journal; ods graphics / reset width=5in height=2.5in imagename="KPI_Group_Panel_Gray"; proc sgrender data=YTD_2005_Group template=KPI_Panel_Group; dynamic _element='graphdata11'; run;