28 %initTestcase(i_object=regression.sas, i_desc=compare linear regression between Excel and SAS)
 
   30    %
if (&sysver=9.1) %then EXCEL; %
else XLS;
 
   32 proc 
import datafile=
"&g_testdata/regression.xls" dbms=%SetXLSType out=work.data replace;
 
   35 data refdata (rename=(yhat=est)) testdata(drop=yhat); 
 
   39 proc import datafile="&g_testdata/regression.xls" dbms=%SetXLSType out=refparm replace;
 
   43 %regression(data=testdata, x=x, y=y, out=aus, yhat=est, parms=parameters, report=&g_work/report1.rtf)
 
   46    select intercept into :intercept_sas from parameters; 
 
   47    select put (x, best12.) into :slope_sas from parameters; 
 
   48    select put (e, best12.) into :slope_xls from refparm; 
 
   49    select f into :intercept_xls from refparm; 
 
   52 %assertReport(i_actual=&g_work/report1.rtf, i_expected=&g_testdata/regression.xls,
 
   53               i_desc=please compare SAS chart with Excel chart)
 
   55 %assertColumns(i_actual=aus, i_expected=refdata, i_desc=compare estimated values, i_fuzz=1E-10)
 
   57 %assertEquals(i_actual=&intercept_xls, i_expected=&intercept_sas, i_desc=compare intercept parameter)
 
   58 %assertEquals(i_actual=&slope_xls, i_expected=&slope_sas, i_desc=compare slope parameter)
 
   59 %assertPerformance(i_expected=5, i_desc=regression calculation should be done within 5 seconds.)