楼主: baoaibaobao
8243 11

[原创博文] 用ODS生成定制的统计表格 [推广有奖]

  • 0关注
  • 25粉丝

已卖:106份资源

副教授

39%

还不是VIP/贵宾

-

威望
0
论坛币
9621 个
通用积分
13.9002
学术水平
80 点
热心指数
128 点
信用等级
38 点
经验
12060 点
帖子
548
精华
0
在线时间
1015 小时
注册时间
2009-5-21
最后登录
2025-12-31

楼主
baoaibaobao 发表于 2011-4-12 13:58:23 |AI写论文
100论坛币
现在通过修改SAS中已有的template可以生成普通的三线表,即图1;如果我想要生成如图2的三线表,用ODS怎么实现,或者说怎么修改模板?DDE除外

1.jpg (6.45 KB)

1.jpg

2.jpg (27.76 KB)

2.jpg

关键词:ods 统计表 Template plate Late 统计

本帖被以下文库推荐

沙发
baoaibaobao 发表于 2011-4-12 16:14:58
俺的问题高手赐教一下!

藤椅
myc_sas 发表于 2011-4-12 16:40:02
问题是针对怎么实现图2表的格式,还是针对怎么画出图2里面的横线?

板凳
baoaibaobao 发表于 2011-4-12 17:01:30
myc_sas 发表于 2011-4-12 16:40
问题是针对怎么实现图2表的格式,还是针对怎么画出图2里面的横线?
用ods直接输出图2的表的样式,不是在word里面手动画出横线!!

报纸
myc_sas 发表于 2011-4-12 17:19:15
我是新手,可能把问题想得太简单了。第一感觉是用 proc tabulate加 ods 应该可以做出图2的样式啊,倒是怎么自订横线不要竖线不知道怎么弄。不过现在仔细看了看里面的那些统计参数,恐怕是需要SAS其它模块的吧。

地板
cjhong111 发表于 2011-4-13 18:38:32
原来的一个程序,您再结合下report就可以达到目的了。

proc template;
define style Styles.Threelines;
parent = Styles.Default;

STYLE SystemTitle /
FONT_FACE = " Times New Roman, Comic Sans MS, Helvetica, sans-serif"
FONT_SIZE = 5
FONT_WEIGHT = bold
FONT_STYLE = roman
FOREGROUND = midnightblue
BACKGROUND = white;

STYLE SystemFooter /
FONT_FACE = " Times New Roman, Comic Sans MS, Helvetica, sans-serif"
FONT_SIZE = 2
FONT_WEIGHT = bold
FONT_STYLE = italic
FOREGROUND = midnightblue
BACKGROUND = white;

STYLE Header /
FONT_FACE = "Times New Roman, Helvetica, sans-serif"
FONT_SIZE = 4
FONT_WEIGHT = medium
FONT_STYLE = roman
FOREGROUND = midnightblue
BACKGROUND = white;

STYLE RowHeader from header /
BACKGROUND = white;

STYLE Data /
FONT_FACE = "Times New Roman, Helvetica, sans-serif"
FONT_SIZE = 2
FONT_WEIGHT = medium
FONT_STYLE = roman
FOREGROUND = black
BACKGROUND = white;

STYLE Table /
FOREGROUND = black
BACKGROUND = white
CELLSPACING = 0
CELLPADDING = 3
FRAME = HSIDES
RULES = groups;

STYLE Body /
FONT_FACE = "Times New Roman, Arial, Helvetica, sans-serif"
FONT_SIZE = 3
FONT_WEIGHT = medium
FONT_STYLE = roman
FOREGROUND = black
BACKGROUND = white;

STYLE SysTitleAndFooterContainer /
CELLSPACING=0;
end;
run;



ods rtf  style=Threelines;
title 'three';
footnote 'dfdfdf';
proc tabulate data= sashelp.class ;
class sex;
var age height weight;
table sex, (age height weight) *mean;
run;
ods rtf close;

7
cjhong111 发表于 2011-4-13 18:45:05
或者将上述三线表程序和一篇硕士论文中的相关程序编辑思路结合起来做也可以,硕士论文:陆健, 导师:贺佳,临床试验统计分析规范性研究及SAS软件实现。我原来编写过,找不到了。

8
baoaibaobao 发表于 2011-4-13 22:10:09
cjhong111 发表于 2011-4-13 18:45
或者将上述三线表程序和一篇硕士论文中的相关程序编辑思路结合起来做也可以,硕士论文:陆健, 导师:贺佳,临床试验统计分析规范性研究及SAS软件实现。我原来编写过,找不到了。
你的代码也只是实现了普通的三线表,而不是我需要的那种~~不过谢谢你啦!

9
fightor999 发表于 2012-4-17 09:41:10
可以用proc report实现上述的表格, A和B之间的分隔用一空变量,显示的标题为空字符串, 表头中间的横线用rtf文件的代码实现

10
webgu 发表于 2012-4-17 11:07:41
这个问题值得搞搞 。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-24 14:00