%let gpath='C:\'; %let dpi=200; ods html close; ods listing gpath=&gpath image_dpi=&dpi; data Lipid; input test $1-20 value units $25-34 V1 V2 V3 V4 V5 Vn rev; length LVn1 LVn2 LVn3 LVn4 LVn5 $4; /*--Data for Test Name--*/ NameL=-50; NameH=-20; /*--Data for value box--*/ boxL=-20; boxH=-5; boxM=-14; low=0; high=100; /*--Actual and normalized data and labels--*/ if rev=0 then do; Vn1=0; Vn2=25; Vn3=50; Vn4=75; Vn5=100; Vnl=3; Vnh=97; LVn1='Low'; LVn2='25%'; LVn3='50%'; LVn4='75%'; LVn5='High'; end; else do; vn=100-vn; Vn5=0; Vn4=25; Vn3=50; Vn2=75; Vn1=100; Vnl=97; Vnh=3; LVn1='Low'; LVn2='25%'; LVn3='50%'; LVn4='75%'; LVn5='High'; end; low=0; datalines; Large VLDL-P 8.2 nmol/L 0 0.9 2.7 6.9 10 85.5 0 Small LDL-P 830 nmol/L 0 117 527 830 1200 75.0 0 Large HDL-P 2.7 mumol/L 1.5 3.1 4.8 7.3 11 18.8 1 VLDL Size 50.4 nm 35 42.4 43.5 52.5 80 69.2 0 LDL Size 20.4 nm 19 20.4 20.8 21.1 22 25.0 1 HDL Size 8.7 nm 12 9.8 9.2 9.0 7.9 18.2 1 LP-IR Score 84 0-100 0 27 45 63 100 89.2 0 ; run; /**/ ods html; proc print data=Lipid; var test value vn rev V1 V2 V3 V4 V5; run; ods html close; /*--Lipid panel with values at marker--*/ ods graphics / reset dataskinmax=700 width=5in height=3.5in imagename='Lipid_Dashboard'; title 'Lipid Panel for Subject XXX-XX-XXXX'; proc sgplot data=Lipid noautolegend nowall noborder; highlow y=test low=low high=high / type=bar outline nofill barwidth=0.5 ; hbarparm category=test response=vn / barwidth=0.2 dataskin=gloss fillattrs=(color=gray) nooutline baselineattrs=(thickness=0); scatter y=test x=vn2 / markerchar=v2 markercharattrs=(color=lightgray size=7); scatter y=test x=vn3 / markerchar=v3 markercharattrs=(color=lightgray size=7); scatter y=test x=vn4 / markerchar=v4 markercharattrs=(color=lightgray size=7); scatter y=test x=vnl / markerchar=lvn1 markercharattrs=(size=7 color=gray) discreteoffset=-0.35; scatter y=test x=vn2 / markerchar=lvn2 markercharattrs=(size=7 color=gray) discreteoffset=-0.35; scatter y=test x=vn3 / markerchar=lvn3 markercharattrs=(size=7 color=gray) discreteoffset=-0.35; scatter y=test x=vn4 / markerchar=lvn4 markercharattrs=(size=7 color=gray) discreteoffset=-0.35; scatter y=test x=vnh / markerchar=lvn5 markercharattrs=(size=7 color=gray) discreteoffset=-0.35; scatter y=test x=vn / markerattrs=(symbol=trianglefilled size=12) discreteoffset=0.2 filledoutlinedmarkers markerfillattrs=(color=white) dataskin=gloss; scatter y=test x=vn / markerchar=value discreteoffset=0.4 markercharattrs=(size=8 weight=bold); xaxis display=none offsetmin=0 offsetmax=0; yaxis display=(nolabel noticks noline); run; /*--Lipid panel with values in box--*/ ods graphics / reset dataskinmax=700 width=5in height=3.5in imagename='Lipid_Dashboard_Box'; title 'Lipid Panel for Subject XXX-XX-XXXX'; proc sgplot data=Lipid noautolegend dattrmap=RampMapDarker nowall noborder; highlow y=test low=boxL high=boxH / type=bar nofill outline lineattrs=(color=black) barwidth=0.6; scatter y=test x=boxM / markerchar=value discreteoffset=0 markercharattrs=(size=8 weight=bold); scatter y=test x=boxM / markerchar=units discreteoffset=-0.4 markercharattrs=(size=7 color=gray); highlow y=test low=low high=high / type=bar outline nofill barwidth=0.6 ; hbarparm category=test response=vn / barwidth=0.2 dataskin=gloss fillattrs=(color=gray) nooutline baselineattrs=(thickness=0); scatter y=test x=vn2 / markerchar=v2 markercharattrs=(color=lightgray size=7); scatter y=test x=vn3 / markerchar=v3 markercharattrs=(color=lightgray size=7); scatter y=test x=vn4 / markerchar=v4 markercharattrs=(color=lightgray size=7); scatter y=test x=vnl / markerchar=lvn1 markercharattrs=(size=7 color=gray) discreteoffset=-0.4; scatter y=test x=vn2 / markerchar=lvn2 markercharattrs=(size=7 color=gray) discreteoffset=-0.4; scatter y=test x=vn3 / markerchar=lvn3 markercharattrs=(size=7 color=gray) discreteoffset=-0.4; scatter y=test x=vn4 / markerchar=lvn4 markercharattrs=(size=7 color=gray) discreteoffset=-0.4; scatter y=test x=vnh / markerchar=lvn5 markercharattrs=(size=7 color=gray) discreteoffset=-0.4; scatter y=test x=vn / markerattrs=(symbol=trianglefilled size=12) discreteoffset=0.2 filledoutlinedmarkers markerfillattrs=(color=white) dataskin=gloss; xaxis display=none offsetmin=0 offsetmax=0; yaxis display=(nolabel noticks noline); run; /*--Lipid panel test name and values--*/ ods graphics / reset dataskinmax=700 width=5in height=3.5in imagename='Lipid_Dashboard_Box_Name'; title 'Lipid Panel for Subject XXX-XX-XXXX'; proc sgplot data=Lipid noautolegend nowall noborder; highlow y=test low=boxL high=boxH / type=bar nofill outline lineattrs=(color=black) barwidth=0.6; scatter y=test x=boxM / markerchar=value discreteoffset=0 markercharattrs=(size=8 weight=bold); scatter y=test x=boxM / markerchar=units discreteoffset=-0.4 markercharattrs=(size=7 color=gray); highlow y=test low=nameL high=nameH / type=bar nooutline barwidth=0.6 fillattrs=(transparency=1); scatter y=test x=nameL / datalabel=test datalabelattrs=(size=8 weight=normal) datalabelpos=right markerattrs=(size=0); highlow y=test low=low high=high / type=bar outline nofill barwidth=0.5 ; hbarparm category=test response=vn / barwidth=0.2 dataskin=gloss fillattrs=(color=gray) nooutline baselineattrs=(thickness=0); scatter y=test x=vn2 / markerchar=v2 markercharattrs=(color=lightgray size=7); scatter y=test x=vn3 / markerchar=v3 markercharattrs=(color=lightgray size=7); scatter y=test x=vn4 / markerchar=v4 markercharattrs=(color=lightgray size=7); scatter y=test x=vnl / markerchar=lvn1 markercharattrs=(size=7 color=gray) discreteoffset=-0.35; scatter y=test x=vn2 / markerchar=lvn2 markercharattrs=(size=7 color=gray) discreteoffset=-0.35; scatter y=test x=vn3 / markerchar=lvn3 markercharattrs=(size=7 color=gray) discreteoffset=-0.35; scatter y=test x=vn4 / markerchar=lvn4 markercharattrs=(size=7 color=gray) discreteoffset=-0.35; scatter y=test x=vnh / markerchar=lvn5 markercharattrs=(size=7 color=gray) discreteoffset=-0.35; scatter y=test x=vn / markerattrs=(symbol=trianglefilled size=12) discreteoffset=0.2 filledoutlinedmarkers markerfillattrs=(color=white) dataskin=gloss; scatter y=test x=vn / markerchar=value discreteoffset=0.4 markercharattrs=(size=8 weight=bold); xaxis display=none offsetmin=0 offsetmax=0; yaxis display=none; run;