Dear expert,
I recently replaced my PC by a laptop (x64) with SAS 9.4 (32).
The programs that were previously running well before still work presently except but proc gplot.
Graphs were previously drawn from large datafiles (more than 1000000 lines). Now it fails with these datafiles or even much more smaller (less than 8000 lines).
With the program presented below I get the message
ERROR: Integer divide by zero.
ERROR: Termination due to Floating Point Exception
(proc sort data=temp1; by var1; run;
proc gplot data=temp1; plot var3*var2=var1;
run;
quit;)
If I use Sas Entreprise Guide, the same proc gplot works but then there is a warning message "The results are large..." with more than 5 Mo.
If there any option or configuration when installing SAS 9.4 to deal with? Do you recommend SAS 9.4 (64) for laptop system x64? Or anything else?
It will help my graph program to recover and show results.
Best regards
Nath
Ideally, SAS wouldn't get an error and crash 🙂 ... but since it is in your case, and if it's working successfully in EG (presumably because EG is using device=activex, which takes a different code path), then yes perhaps that would be a work-around, if you use "goptions device=activex;" when you're running it outside of EG.
Also, I think you mentioned you were running 32 bit SAS on 64 bit Windows(?) ... It would be interesting to see if your graph crashes when using 64 bit SAS on 64 bit Windows (if you have access to that).
The first thing I might suggest is using the more modern and flexible graphics procedures like SGPLOT instead.
Proc sgplot data=temp1;
scatter x=var2 y=var3/ group=var1;
run;
for example. Since I don't know what your current Symbol statements are I don't know exactly what type of plot. Sgplot supports many more types of plots than Gplot does, the controls are more directly in the procedure for many options instead of symbol/pattern/axis statements, and can overlay multiple types of graphs much more easily.
If the graph was supposed to be a connected line, Symbol using i= of some sort, then you likely want a Series graph instead of symbol.
Some of the issue could be related to the Device in effect and you didn't provide any details about that. The options in the older SAS/Graph procedures interact strongly with the display device and may be having issues with the display size. Maybe. The laptop screen resolution might be having a problem trying to fit the graph into the display array.
Thanks for your comment about the device. It help me to obtain the first solution to my problem, with device=pdf I had access to the graph.
Now with Activex installed, I see graph in a SAS window as prefered.
Thanks a lot
Did your computer specifications get upgraded or downgraded with the transition to a laptop?
Is the amount of RAM space the same and is the allocation amount set the same as it was in both versions?
@Nath_35650 wrote:
Dear expert,
I recently replaced my PC by a laptop (x64) with SAS 9.4 (32).
The programs that were previously running well before still work presently except but proc gplot.
Graphs were previously drawn from large datafiles (more than 1000000 lines). Now it fails with these datafiles or even much more smaller (less than 8000 lines).
With the program presented below I get the message
ERROR: Integer divide by zero.
ERROR: Termination due to Floating Point Exception(proc sort data=temp1; by var1; run;
proc gplot data=temp1; plot var3*var2=var1;
run;
quit;)If I use Sas Entreprise Guide, the same proc gplot works but then there is a warning message "The results are large..." with more than 5 Mo.
If there any option or configuration when installing SAS 9.4 to deal with? Do you recommend SAS 9.4 (64) for laptop system x64? Or anything else?
It will help my graph program to recover and show results.
Best regards
Nath
You mention that the same graph runs OK when you submit it through Enterprise Guide - this could be because Enterprise Guide (probably) uses device=activex (or actximg) for Proc Gplot ... whereas running SAS in other ways probably defaults to something like device=png.
Ideally, SAS wouldn't get an error and crash 🙂 ... but since it is in your case, and if it's working successfully in EG (presumably because EG is using device=activex, which takes a different code path), then yes perhaps that would be a work-around, if you use "goptions device=activex;" when you're running it outside of EG.
Also, I think you mentioned you were running 32 bit SAS on 64 bit Windows(?) ... It would be interesting to see if your graph crashes when using 64 bit SAS on 64 bit Windows (if you have access to that).
Hi,
Uploading the SAS/GRAPH ActiveX Control installation program was the solution. Now it works.
I will moved soon to a 64 bit SAS on my 64 bit windows.
Thanks a lot
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.