I want to add more decimal places to the percent column of the output created by proc freq in sas. I have a percent now of 87.76 but I would like this to 4 decimal places. The template for this is Base.Freq.OneWayFreqs. The code I am currently using is:
proc freq data=cat;
table food;
weight weight;
run;
You can edit the template.
* use ODS PATH statement so that you don't overwrite templates ;
* that shipped with SAS! ;
ODS PATH WORK.TEMPLAT(UPDATE) SASHELP.Tmplmst(READ);
proc template;
edit Base.Freq.OneWayList;
edit Percent;
format=7.4 ;
end;
edit CumPercent;
format=7.4 ;
end;
end;
run;
proc freq data=sashelp.class;
tables height weight;
run;
* delete the edited template ;
proc template;
delete Base.Freq.OneWayList;
run;
One way to get what you want is to output a table in PROC FREQ and then use PROC PRINT as this example shows:
You can edit the template.
* use ODS PATH statement so that you don't overwrite templates ;
* that shipped with SAS! ;
ODS PATH WORK.TEMPLAT(UPDATE) SASHELP.Tmplmst(READ);
proc template;
edit Base.Freq.OneWayList;
edit Percent;
format=7.4 ;
end;
edit CumPercent;
format=7.4 ;
end;
end;
run;
proc freq data=sashelp.class;
tables height weight;
run;
* delete the edited template ;
proc template;
delete Base.Freq.OneWayList;
run;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.