Forecasting using SAS Forecast Server, SAS/ETS, and more

How do I capture ChiSqAuto from Proc Arima with BY statement

Accepted Solution Solved
Reply
New Contributor
Posts: 2
Accepted Solution

How do I capture ChiSqAuto from Proc Arima with BY statement

I am running SAS 9.4 and I am trying to use ods output to capture the ChiSqAuto output across a proc arima which includes a by statement.  I cannot find qstats after the code is run.  It does not seem to be created.

 

 

ods output ChiSqAuto(persist=proc)=qstats;

 

proc arima data = all;
  identify var=dror noprint;
  estimate noprint q=2 noconstant method=ml outest=arima_a (where=(_type_='EST') keep=_type_ _status_ ma1_1 ma1_2 source       id);
  by source id;
  run;


Accepted Solutions
Solution
‎07-13-2017 09:27 AM
SAS Super FREQ
Posts: 289

Re: How do I capture ChiSqAuto from Proc Arima with BY statement

For most procedures, NOPRINT means no ODS. There are unfortunate exceptions, so check the documentation to find the options that suppress printing.  You can't use ODS OUTPUT on a table that was suppressed by NOPRINT or some other no printing option.

 

If you are experiencing that kind of performance issues, please enter a ticke with tech support.  They can help you with that better than me. http://support.sas.com/ctx/supportform/createForm 

View solution in original post


All Replies
SAS Super FREQ
Posts: 289

Re: How do I capture ChiSqAuto from Proc Arima with BY statement

Since I did not have your data, I just simplified a bit and used a sashelp data set.  This runs.  I don't use persist much.  Why do you want it here?  I think it is good practice to put the ods output statement with the proc code.

 

ods trace on;
proc arima data = sashelp.iris;
  ods output ChiSqAuto=qstats;
  identify var=petalwidth;
  estimate noprint q=2 noconstant method=ml outest=arima_a (where=(_type_='EST'));
  by species;
  run;

proc print data=qstats; run;
New Contributor
Posts: 2

Re: How do I capture ChiSqAuto from Proc Arima with BY statement

Posted in reply to WarrenKuhfeld

Thank you.  It seems the key difference to making it work is the removal of noprint from the identify statement.  Do you know why this matters?  Also, the proc arima used to run across my dataset (2300 different by variables, about 100 obs per run) in less than a minute. It has been running for an hour and is still running.  Would appreciate any thoughts you have on why the massive decrease in speed.

Solution
‎07-13-2017 09:27 AM
SAS Super FREQ
Posts: 289

Re: How do I capture ChiSqAuto from Proc Arima with BY statement

For most procedures, NOPRINT means no ODS. There are unfortunate exceptions, so check the documentation to find the options that suppress printing.  You can't use ODS OUTPUT on a table that was suppressed by NOPRINT or some other no printing option.

 

If you are experiencing that kind of performance issues, please enter a ticke with tech support.  They can help you with that better than me. http://support.sas.com/ctx/supportform/createForm 

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 156 views
  • 0 likes
  • 2 in conversation