Hello All,
How to conver a large format into SAS dataset? the SAS memsize is not enough to do this.
May I ask is there any tricky method to split the format and convert them to SAS small SAS dataset one by one?
Any suggestion will be appreciated!(without change memory size)
proc format cntout=newdataset lib=alargefmt; run; *******error* insufficient memory........;
Thanks!
@GeorgeSAS wrote:
Hello All,
How to conver a large format into SAS dataset? the SAS memsize is not enough to do this.
May I ask is there any tricky method to split the format and convert them to SAS small SAS dataset one by one?
Any suggestion will be appreciated!(without change memory size)
proc format cntout=newdataset lib=alargefmt; run; *******error* insufficient memory........;Thanks!
Does the catalog have more than one format? Does it help to use the SELECT statement to export them one by one?
How large are we talking here? A format is supposed to be a distinct grouping, so how has it got so big? Maybe consider using datasets rather than formats.
I can't tell if that error message relates to the output data set or not, so you can limit the variables sent to cntlout to see if that helps:
options compress=yes;
proc format library=alargefmt
cntlout=newdataset(keep=start end label);
run;
If you don't use any ranges (i.e start and end are the same) then you could just keep start, label.
Are you running the format code on the mainframe?
You may be running into your available space settings for users and not a SAS limit. Disc space would be a common element limited to most users and if the catalog is thal large.
By any chance do you have the Code that created the format? It may be that running that code with cntlout would be a better option.
Have you tried something like this:
proc format cntout=formatone lib=alargefmt;
select formatone;
run;
Where formatone is the name of one of the formats in the library?
If you also have informats you would use @informatname since it is very common to have an informat and format with the same name.
I tried, but just the single format is too large to be loaded.
Thanks
Then you either need increased memory, or go back one further step and recreate the data that was originally used to create the format (nobody types a 1GB format by hand). With data like that, there MUST be documentation about its creation.
Get help from your local systems team. If you really are running MVS then change the memory settings in the JCL.
Are you sure the file is really a format catalog? Can you see the list of formats in it using PROC CATALOG? Or using the DICTIONARY views?
Are you sure the file is a format catalog for the version of SAS that you are running? Format catalogs a normally not compatible across releases or operating systems.
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.