Hello community,
I am trying to save a very big data set into smaller data set so that I can draw a graph but am encountering this error "An Exception has been encountered".. I request for advise on how to solve this problem.
I also have 8GB ram but am wondering why drawing graphs beyond 1,000,000 observations ends into an error ' Insufficient memory', How can I increase my memory utilization?
Below is the procedure i have been running
ods select none;
proc kde data=Calibration;
bivar x y / out=Want;
run;
ods select all;
I will be glad to be assisted.
How to increase memory usage in SAS will be of good help for the start and I see if its memory problem.
I think all the 3 above can solve the problem am encountering. I dont know exactly what the problem is because the data is extremity big more than 8,000,000,000 observations.
If possible help me with method to increase memory and plotting all points.
Thank you for the quick response and assistance.
I am using SAS 9.4 University Edition and I will take any advise you give me so that I can solve the problem.
I also think visualizing reduced number of observation would be best and I was trying to reduce the data using proc KDE and save the output data but this error didn't allow.
Thank for responding.
The data sets are directed to the external hard drive and I have them read but plotting them is the problem. But I have not understood exactly how to increase my memsize. Which procedure do i use?
Thanks.
As @Reeza has mentioned there are limits to what can be processed. Remember SAS UE is a learning tool, its not a full fledged product for standard use, and thus has other constraints.
You should never be plotting millions of observations, that is not at all useful. Consider an 800*600 pixel graph could only hold 480k points, you are just wasting memory and processing. Look at your data and summarise it. I can't tell you how as you have not provided any, but some procedures which jump to mind are proc means - for sum, mean, stddev etc. summation. It may also be that you need to group the data, or process it further to get a small set of data ready for plotting. For instance we collect lab paramters, and these get processed to find changes from baseline values, then means then output to a separate plot per parameter. Exact processing of course is down to what you want and what data you have, neither of which I know.
@DavidsM wrote:
But I have not understood exactly how to increase my memsize.
You can't. MEMSIZE is set at SAS startup, and the configuration files for that are stored in a part of the UE VM that you can't reach for editing.
As the others said, UE is a learning tool designed for example data, not production-size datasets.
Could you try this ?
ods _all_ close;
proc kde data=Calibration;
bivar x y / out=Want;
run;
ods html;
Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.
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.