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!
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.