I would like to produce a report table with column headings in two rows - the first row is regular column title, the second row is a count in the format of (n=xxx);
Also, have to include min-max range in first column. Is there a way to do it using ods rtf proc report? Thanks for your help!
Demographics | Treatment (n= xx) | Placebo (n= xx) | Total (n=xx) |
Mean age [min-max range] | |||
Mean Calculated Body Weight (kg) [min-max range] |
Hi:
This is very similar to the Demographic report shown in this Global Forum paper: http://www2.sas.com/proceedings/forum2008/173-2008.pdf starting on page 9.
But conceptually, you can do something like this with macro variables.
Example:
** could create these macro variables in a program;
** instead of hardcoding the values;
%let agestr = (N=19);
%let htstr = (N=19);
%let wtstr = (N=19);
ods rtf file='c:\temp\showheader.rtf';
proc report data=sashelp.class split='*'
style(header)={background=white}
style(column)={width=1in};
column sex age height weight;
define sex / group ' *Sex';
define age / "Age*&agestr";
define height / mean "Avg Height*&htstr" f=8.2;
define weight / mean "Avg Weight*&wtstr" f=8.2;
run;
ods rtf close;
produces this using ODS RTF:
cynthia
As suggested, used macro variables, and it worked! Thank you!
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.