I am a VERY light SAS user who had the product handed to him when a coworker retired and am having a problem with a SAS program that uses the UNIVARIATE procedure. Results that used to look like this:
Quantiles (Definition 5)
Quantile Estimate
100% Max 291.318
99% 0.160
95% 0.030
90% 0.014
75% Q3 0.004
50% Median 0.002
25% Q1 0.000
10% 0.000
5% 0.000
1% 0.000
0% Min 0.000
Now look like this:
Quantiles (Definition 5)
Quantile Estimate
100% Max 1.31885E+02
99% 2.93500E-01
95% 5.50994E-02
90% 2.70000E-02
75% Q3 8.00000E-03
50% Median 3.50000E-03
25% Q1 1.58333E-03
10% 3.99668E-04
5% 9.99998E-05
1% 0.00000E+00
0% Min 0.00000E+00
I know it is a format issue on the output, but I'm struggling with trying to figure out where to look. Any help would be greatly appreciated.
Have you recently changed versions of SAS, edited macros, or otherwise made changes to the software?
No changes to the software, but the data now contains 4 positions to the right of the decimal place when there were 3 before.
Maybe Someone just changed the TEMPLATE of proc univariate.
Delete it and Restore the default TEMPLATE. But I don't know how to do it. Post it at ODS and REPORT forum.
@Cynthina should know how to do it.
Xia,
Thanks for the reply. The TEMPLATE wasn't changed because if I use old data, the results look ok. As I said, the data now has 4 positiions to the right of the decimal place, when before there were 3. If I run a delete for everything smaller than .001 before I run the UNIVARIATE proc, then it works. I suspect my data has too large a range. (Some values larger than 1000...some less than .001.)
Maybe you assign a Ew.d format to that variable ?
format var best32.;
Not sure if it could work.
Xia Keshan
Please post your proc univariate code.
I can't replicate that issue even with various formats on SAS 9.3...
Here's the code that works:
OPTIONS LINESIZE=133 PAGESIZE=60;
DATA ONE;
INFILE IFILE ;
INPUT @58 FREQ 10.
@73 RESP 9.;
RESP=RESP/FREQ;
if resp < .001 then delete;
proc printto file='d:/sas/dbparesp.txt';
PROC UNIVARIATE DATA=ONE ;
FREQ FREQ;
VAR RESP;
proc printto;
run;
If you remove the highlighted code, I get the unreadable results.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.