BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Nath_35650
Fluorite | Level 6

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

1 ACCEPTED SOLUTION

Accepted Solutions
GraphGuy
Meteorite | Level 14

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).

 

View solution in original post

7 REPLIES 7
ballardw
Super User

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.

Nath_35650
Fluorite | Level 6

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

Reeza
Super User

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


 

GraphGuy
Meteorite | Level 14

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.

 

 

Nath_35650
Fluorite | Level 6
Hello,
Thank you for your email. Does it mean that I have to look for where the default value is parameterized ‘png’ and change it towards activex if I want to continue to use SAS software but not in its enterprise version ?
Best regards
Nathalie
GraphGuy
Meteorite | Level 14

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).

 

Nath_35650
Fluorite | Level 6

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: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 7 replies
  • 1027 views
  • 4 likes
  • 4 in conversation