0
votes

Within an ODS POWERPOINT statement I intend to produce some output from a PROC MIXED. I do not want all the tables to be shown. Using ODS TRACE ON passes the following results to the log:

Output Added:


Name: ModelInfo

Label: Model Information

Template: Stat.Mixed.ModelInfo

Path: Mixed.ModelInfo


Output Added:


Name: ClassLevels

Label: Class Level Information

Template: Stat.Mixed.ClassLevels

Path: Mixed.ClassLevels


Output Added:


Name: Dimensions

Label: Dimensions

Template: Stat.Mixed.Dimensions

Path: Mixed.Dimensions


Output Added:


Name: NObs

Label: Number of Observations

Template: Stat.Mixed.NObs

Path: Mixed.NObs


Output Added:


Name: IterHistory

Label: Iteration History

Template: Stat.Mixed.IterHistory

Path: Mixed.IterHistory


Output Added:


Name: ConvergenceStatus

Label: Convergence Status

Template: Stat.Mixed.ConvergenceStatus

Path: Mixed.ConvergenceStatus


NOTE: Convergence criteria met.

Output Added:


Name: CovParms

Label: Covariance Parameter Estimates

Template: Stat.Mixed.CovParms

Path: Mixed.CovParms


Output Added:


Name: FitStatistics

Label: Fit Statistics

Template: Stat.Mixed.FitStatistics

Path: Mixed.FitStatistics


Output Added:


Name: SolutionF

Label: Solution for Fixed Effects

Template: Stat.Mixed.SolutionF

Path: Mixed.SolutionF


Output Added:


Name: Tests3

Label: Type 3 Tests of Fixed Effects

Template: Stat.Mixed.Tests3

Path: Mixed.Tests3


Output Added:


Name: LSMeans

Label: Least Squares Means

Template: Stat.Mixed.LSMeans

Path: Mixed.LSMeans


NOTE: PROCEDURE MIXED used (Total process time):

  real time           0.15 seconds

  cpu time            0.07 seconds

...

I only want to display the outputs named "CovParms", "Tests3" and "LSMeans". I add an ODS SELECT statement prior to the PROC MIXED as follows:

ODS POWERPOINT FILE='..\program\outputtest.pptx' nogtitle nogfootnote;

ods noptitle;

ods trace on;

--- PROCEDURES ---

ODS SELECT CovParms Tests3 LSMeans;

proc mixed data=data;

class A B C D;

model Y = X AX BX AB AB*X

       / DDFM=KENWARDROGER solution;

random CD AD;

lsmeans A*B;

run;

quit;

--- PROCEDURES ---

ODS POWERPOINT CLOSE;

However all the tables are displayed in the power point file - not only those stated in the ODS SELECT statement. The log says:

1323 ODS SELECT CovParms Tests3 LSMeans;

WARNING: Output 'LSMeans' was not created. Make sure that the

     output object name, label, or path is spelled

     correctly.  Also, verify that the appropriate

     procedure options are used to produce the requested

     output object.  For example, verify that the NOPRINT

     option is not used.

WARNING: Output 'Tests3' was not created. Make sure that the

     output object name, label, or path is spelled

     correctly.  Also, verify that the appropriate

     procedure options are used to produce the requested

     output object.  For example, verify that the NOPRINT

     option is not used.

WARNING: Output 'CovParms' was not created. Make sure that the

     output object name, label, or path is spelled

     correctly.  Also, verify that the appropriate

     procedure options are used to produce the requested

     output object.  For example, verify that the NOPRINT

     option is not used.

WARNING: The current ODS SELECT/EXCLUDE/OUTPUT statement was

     cleared because the end of a procedure step was

     detected. Probable causes for this include the

     non-termination of an interactive procedure (type

     quit; to end the procedure) and a run group with no

     output.

However, when I omit the other procedures I do obtain the intended output.

What it is wrong? Any help is appreciated.

1
Can you try putting ods select statement inside proc mixed (not before)?Christos Avrilionis
Thank you a lot, Christos. For some reason it worked.Andreas Jensen

1 Answers

0
votes

This works as expected on a test sample dataset.

ods select covparms lsmeans tests3;

proc mixed data=sashelp.cars;
  class type origin;
  model mpg_highway = type origin type*origin;
  lsmeans type*origin;
  run;
quit;

ods select all;

Adding an ods powerpoint wrapper to this also works as expected.

If this isn't working for you, I'd look at the standard issues. First try running this sample code, or a sample code that is closer to your actual data. (This is just random model I made up). If that works, look at your actual data and make sure it's not failing because of something intrinsic to the data.