Why do I get an "Integer Divide by Zero" error when using a SAS data file?
Please Note! The problem described here only applies to Stat/Transfer Version 7 and earlier. This problem has been remedied in Stat/Transfer Version 8 and above.
Say that you used Stat/Transfer to make a SAS data file called c:\mydata\hartman.sas7bdat and you go to use it in a statistics procedure (in our example, proc reg) like below
proc reg data="c:\mydata\hartman";
model y = time cond;
run;
and you get the following error in the log file.
NOTE: PROCEDURE REG used:
real time 0.00 seconds
cpu time 0.00 seconds
ERROR: Integer divide by zero.
NOTE: The SAS System stopped processing this step because of errors.
20 proc reg data="c:\mydata\hartman";
21 model y = time|cond;
22 run;
23
What went wrong? Sometimes Stat/Transfer may make a SAS file that SAS has trouble reading in a statistical procedure, but there is a workaround. You can make a copy of the data file in SAS (because SAS can read the file in a data step) and then use the copy. For example,
data hartman;
set "c:\mydata\hartman";
run;
proc reg data=hartman;
model y = time cond;
run;
and then the log file shows that this worked,
72 data hartman;
73 set "c:\mydata\hartman";
74 run;
NOTE: There were 9 observations read from the data set c:\mydata\hartman.
NOTE: The data set WORK.HARTMAN has 9 observations and 3 variables.
NOTE: DATA statement used:
real time 0.00 seconds
cpu time 0.00 seconds
75
76 proc reg data=hartman;
77 model y = time cond;
78 run;
NOTE: 9 observations read.
NOTE: 1 observations have missing values.
NOTE: 8 observations used in computations.
79 quit;
NOTE: PROCEDURE REG used:
real time 0.02 seconds
cpu time 0.02 seconds
Now everything looks good and you can proceed to analyze the copy of your data file.
|