cancel
Showing results for 
Search instead for 
Did you mean: 

proc gplot error when I move my SASx32 program to a laptop x64

SOLVED
Nath_35650
Fluorite | Level 6
Solved!

proc gplot error when I move my SASx32 program to a laptop x64

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;
quitSmiley Wink

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
Solution

Re: proc gplot error when I move my SASx32 program to a laptop x64

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

Re: proc gplot error when I move my SASx32 program to a laptop x64

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

Re: proc gplot error when I move my SASx32 program to a laptop x64

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

Re: proc gplot error when I move my SASx32 program to a laptop x64

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;
quitSmiley Wink

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


 

Highlighted
GraphGuy
Meteorite | Level 14

Re: proc gplot error when I move my SASx32 program to a laptop x64

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

Re: proc gplot error when I move my SASx32 program to a laptop x64

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
Solution

Re: proc gplot error when I move my SASx32 program to a laptop x64

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

Re: proc gplot error when I move my SASx32 program to a laptop x64

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