I am running a PROC GLM with ODS GRAPHICS turned on. I have selected the four specific outputs I want to appear in the ODS HTML SELECT statement, but somehow I am getting a fifth mysterious output, which I am hoping to eliminate. Please see the attached screen capture, which shows a GLM table OVERALLANOVA, then the mysterious light grey rectangle (this is what I wish to eliminate somehow) and then the next appropriate output, the BOXPLOT. Not shown in the screen capture, the GLM outputs called ANOMPLOT and LSMEANS appear properly below the BOXPLOT. Please let me know what I can do to eliminate this mysterious light grey rectangle.
Here is the SASLOG, as you can tell it was created by a macro which otherwise is running perfectly
MPRINT(PIX_WFR_PKG.PLOTTHIS): ods graphics on;
MPRINT(PIX_WFR_PKG.PLOTTHIS): ods trace on;
MPRINT(PIX_WFR_PKG.PLOTTHIS): ods html select overallanova anomplot BoxPlot lsmeans ;
MPRINT(PIX_WFR_PKG.PLOTTHIS): proc glm data=h35rawdata7415a plots=( Boxplot(npanelpos=40) anomplot);
MPRINT(PIX_WFR_PKG.PLOTTHIS): class operator_number;
MPRINT(PIX_WFR_PKG.PLOTTHIS): model delta1=operator_number/ss1;
MPRINT(PIX_WFR_PKG.PLOTTHIS): lsmeans operator_number/adjust=t pdiff=anom;
MPRINT(PIX_WFR_PKG.PLOTTHIS): run;
Output Added:
-------------
Name: OverallANOVA
Label: Overall ANOVA
Template: stat.GLM.OverallANOVA
Path: GLM.ANOVA.delta1.OverallANOVA
-------------
Output Added:
-------------
Name: BoxPlot
Label: Box Plot, 1
Path: GLM.ANOVA.delta1.BoxPlot
-------------
WARNING: ADJUST=T implies no adjustment for simultaneous inference.
Output Added:
-------------
Name: LSMeans
Label: LSMeans
Template: stat.GLM.LSMeans
Path: GLM.LSMEANS.operator_number.delta1.LSMeans
-------------
Output Added:
-------------
Name: AnomPlot
Label: operator_number ANOM Plot
Template: Stat.GLM.Graphics.AnomPlot
Path: GLM.LSMEANS.operator_number.delta1.AnomPlot
-------------
MPRINT(PIX_WFR_PKG.PLOTTHIS): quit;
NOTE: PROCEDURE GLM used (Total process time):
real time 1.42 seconds
cpu time 0.62 seconds
I think this is related to the value of the NPANELPOS as that controls the number of plots shown. Your value may be asking for more plots than the levels of data supplied will generate.
Are you using any ODS escape characters?
Thanks, , I tried running the program with lower (and higher) values of NPANELPOS, but it didn't affect the graphics output.
Thanks, , I don't know what ODS escape characters are, but using the custom style shown in the screen capture, or using the built-in default ODS style, I have the same problem.
Upon examining the HTML that was created, I see this mysterious segment of HTML code; methinks it is time for me to contact SAS Technical Support, as obviously this strange grey rectangle is purposely being put there (boxplot449.png is the grey rectangle)
<a name="IDX1"></a>
<div>
<div class="c">
<img alt="Phantom Table for ODS Graphics" src="c:\users\pmiller\documents\temp\August1\BoxPlot449.png" style=" height: 480px; width: 640px;" border="0" class="c">
</div>
</div>
SAS Tech support agrees this is a bug and offers this workaround, which I have tested and it appears to solve the problem.
ods _ALL_ close;
ods html file="report.html" path="c:\users\pmiller\documents\August1" (url=none) style=default;
ods graphics on;
ods trace on;
ods select overallanova anomplot BoxPlot lsmeans;
Note that one of the changes I recommend is to use the ODS SELECT statement instead of the ODS HTML SELECT statement.
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.