h******n 发帖数: 232 | 1 如何能将一个dataset打成如下表格:
dataset:
grp year loss interest
EXA 2004 123 12
MGR 2005 234 13
MGT 2006 345 23
EXA 2004 456 23
MGR 2005 457 45
MGT 2006 478 15
... .... ... ..
想要得到的表格如下: |
c****g 发帖数: 156 | 2 data have;
input grp $ year loss interest;
cards;
EXA 2004 123 12
MGR 2005 234 13
MGT 2006 345 23
EXA 2004 456 23
MGR 2005 457 45
MGT 2006 478 15
;
proc tabulate data=have;
class year grp ;
table year='', sum=''*grp="Group"*(loss interest)*f=8. /rts=10.;
var loss interest;
run;
|
c*******7 发帖数: 2506 | 3 proc report works too.
proc reports data=have nowd;
column year grp,(loss interest);
define year/group;
define grp/cross;
define loss/analysis sum;
define interest/analysis sum;
run; |
h******n 发帖数: 232 | 4 Thank you so much!
还有一个问题。proc tabulate 能否求将每一列的sum,列在表格下方呢?
能否将每一行的loss的sum,以及每一行interest的sum也列在表格右侧呢。
拜谢拜谢! |
l****e 发帖数: 15 | 5 proc tabulate data=have;
class year grp ;
KEYWORD sum;
table year='', sum=''*grp="Group"*(loss interest)*f=8.
(loss interest)*(sum*f=8.) /rts=10.;
var loss interest;
run; |
h******n 发帖数: 232 | 6 非常感谢!
我尝试run了你的code。右侧的loss和interest的sum是work的。有没有办法能把每一列
的sum显示在表格的底部呢?
我看了一些proc tabulate的例子,但掌握的不是很通畅。所以麻烦大家了。
拜谢!
【在 l****e 的大作中提到】 : proc tabulate data=have; : class year grp ; : KEYWORD sum; : table year='', sum=''*grp="Group"*(loss interest)*f=8. : (loss interest)*(sum*f=8.) /rts=10.; : var loss interest; : run;
|
l****e 发帖数: 15 | 7 "year all" instead of "year=''" |