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.
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!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.
Select SAS Training centers are offering in-person courses. View upcoming courses for: