不错的表我想创建一个“好看的表”使用SAS ODS RTF
输出和PROC REPORT
程序。花了整整一天在谷歌之后,我已经成功地产生如下:如何创建使用PROC REPORT和ODS RTF输出
数据集
DATA survey;
INPUT id var1 var2 var3 var4 var5 var6 ;
DATALINES;
1 1 35 17 7 2 2
17 1 50 14 5 5 3
33 1 45 6 7 2 7
49 1 24 14 7 5 7
65 2 52 9 4 7 7
81 2 44 11 7 7 7
2 2 34 17 6 5 3
18 2 40 14 7 5 2
34 2 47 6 6 5 6
50 2 35 17 5 7 5
;
RUN;
DATA survey;
SET survey;
LABEL var1 ='Variable 1';
LABEL var2 ='Fancy variable 2';
LABEL var3 ='Another variable no 3';
RUN;
LIBNAME mylib 'C:\my_libs';
RUN;
PROC FORMAT LIBRARY = mylib.survey;
VALUE groups 1 = 'Group A'
2 = 'Group B'
;
OPTIONS FMTSEARCH = (mylib.survey);
DATA survey;
SET survey;
FORMAT var1 groups.;
RUN;
**用于创建RTF文件**
ods listing close;
ods escapechar = '^';
ods noproctitle;
options nodate number;
footnote;
ODS RTF FILE = 'C:\my_workdir\output.rtf'
author = 'NN'
title = 'Table 1 name'
bodytitle
startpage = no
style = journal;
options papersize = A4
orientation = landscape;
title1 /*bold*/ /*italic*/ font = 'Times New Roman' height = 12pt justify = center underlin = 0 color = black bcolor = white 'Table 1 name';
footnote1 /*bold*/ /*italic*/ font = 'Times New Roman' height = 9pt justify = center underlin = 0 color = black bcolor = white 'Note: Created on January 2012';
PROC REPORT DATA = survey nowindows headline headskip MISSING
style(header) = {/*font_weight = bold*/ font_face = 'Times New Roman' font_size = 12pt just = left}
style(column) = {font_face = 'Times New Roman' font_size = 12pt just = left /*asis = on*/};
COLUMN var1 var1=var1_n var1=var1_pctn;
DEFINE var1/GROUP ORDER=FREQ DESCENDING 'Variable';
DEFINE var1_n/ANALYSIS N 'Data/(N=)';
DEFINE var1_pctn/ANALYSIS PCTN format = percent8. '';
RUN;
ODS RTF CLOSE;
代码由此,在Word中像下面这样的RTF表(略简体):
但是,我想在变量名称列中添加一个变量标签'变量1,n(%)'作为单独的行(不包括在标题行中)。我也想在汇总表中添加额外的变量和统计信息。
最后,我想要的东西,看起来像这样:
我已经试过“一切” - 有没有谁知道如何做到这一点?
看看COLUMN语句文档创建列标题...如果你发布一些示例数据可以更容易地尝试解决方案 –
感谢您的提示。我已经添加了测试数据集和Word输出的新图像。我不确定列声明是我正在寻找的那个...或者我只是不明白如何正确使用它。也许这个问题在它的新形式上有些浮夸 – Gordon