Inside the ods block I have several proc reports (not shown), I want to populate one worksheet with a table using proc print.
For 10000 rows it works, but for the whole table (200k rows) it gives the following error:
ERROR: The SAS System stopped processing this step because of insufficient memory.
options casdatalimit=all;
ods _all_ close;
ods excel file="/caslibs/marketing/testing.xlsx"
options(sheet_interval='none' sheet_name='All VWFS');
proc print data=MKT.FATFISH_LCV2;
run;
ods excel close;
ODS is good for readable reports, not for mass data transfer. Use PROC EXPORT or LIBNAME XLSX.
This solution from @Kurt_Bremser works for me:
options casdatalimit=all;
ods _all_ close;
ods excel file="/caslibs/marketing/testing2.xlsx"
options(sheet_interval='none' sheet_name='All VWFS');
proc print data=MKT.FATFISH_LCV2(obs=1000);
run;
ods excel close;
proc export
data=MKT.FATFISH_LCV2(obs=10000)
file="/caslibs/marketing/testing2.xlsx"
dbms=xlsx
replace
;
sheet="cars";
run;
ODS is good for readable reports, not for mass data transfer. Use PROC EXPORT or LIBNAME XLSX.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.