ballardw - Removed macro statements and replaced them with vanilla ODS statements. Seew complete code below and please find attached CPUDATA2 output from PROC PRINT.print. Taking out the BY SMF70STN causes SGPLOT to print all observations in the file, which I don't want. Yes, I know there are other ways to handle this, but I can fix later. data cpubusy/view=cpubusy; set pdb.asumcelp; month=month(datepart(startime)); hour=hour(timepart(startime)); if lparname='PHYSICAL' then smf70stn='OVERHEAD'; if SMF70STN=' ' then delete; proc sort data=cpubusy out=cpusorted; by smf70stn month hour descending lpctby; data cpureport (keep=smf70stn month hour startime lpctby); set cpusorted; by smf70stn month hour; if first.hour; run; data cpudata; SET cpureport; RETAIN SAVMONTH; IF _N_ = 1 THEN SAVMONTH = MONTH; ELSE IF MONTH = SAVMONTH THEN SAVMONTH = MONTH; ELSE DELETE; RUN; DATA CPUDATA2; SET CPUDATA; LENGTH CUSTLAB1 $ 6; LENGTH CUSTLAB2 $ 11; RETAIN DAY YEAR DATE DAYLIT MONTHLIT CUSTLAB1 CUSTLAB2; DAY=DAY(DATEPART(STARTIME)); YEAR=YEAR(DATEPART(STARTIME)); DATE=DATEPART(STARTIME); DAYLIT=PUT(DATE,DOWNAME3.); MONTHLIT=PUT(DATE,MONNAME3.); CUSTLAB1=CATX('',MONTHLIT,DAY); CUSTLAB2=CATX(', ',DAYLIT,CUSTLAB1); OUTPUT; RUN; DATA AREABAR; SET cpudata2; RETAIN x 0 y 0 id 0 ; id=id+1; y=lpctby; x=hour; output; run; options sysprintfont="Courier" nobyline orientation='landscape'; ods listing close; ods graphics on / width=10in height=7in; ods pdf file='TS45.F02.PDFLIB(POLYGON)'; /*--Simple Area Bar Chart with Rotated Labels--*/ proc sgplot data=areabar noborder; title 'BIT Peak CPU Usage by Hour'; polygon id=id x=x y=y / fill outline label=CUSTLAB2 fillattrs=(color=green) labelpos=ymax rotatelabel=vertical LABELATTRS=(Color=red Family=Arial Size=8 Style=Italic Weight=Bold); yaxis offsetmin=.02 label='LPAR*Logical*Percent*Busy' values= (0 to 100 by 10); xaxis offsetmin=.02 label='Hour of Day' values= (0 to 23 by 1); run;
... View more