2017-06-22 84 views
0

的比例,我有以下PROC报告PROC报告:组和

proc report data=sashelp.class; 
    col 
    sex 
    age 
    weight 
    ; 
    define sex/group; 
    define age/group; 
    define weight/analysis sum; 
run; 

sashelp class

但是我不想显示重量的总和。相反,我想有分组总和的比例。所以第一排应该是6.23%。我怎样才能做到这一点?

回答

0

现在我已经找到了解决办法:

proc sql noprint; 
CREATE TABLE class AS 
SELECT a.* 
    ,b.sumweight 
FROM sashelp.class a 
LEFT JOIN (SELECT sex, sum(weight) as sumweight 
      FROM sashelp.class 
      GROUP BY sex 
) b 
ON a.sex=b.sex 
; 
quit; 

proc report data=class; 
col 
    sex 
    age 
    weight 
    sumweight 
    perc 
; 
define sex/group; 
define age/group; 
define weight/analysis sum; 
define sumweight/analysis mean noprint; 
define perc/computed format=percent6.2; 

compute perc; 
    perc = weight.sum/sumweight.mean; 
endcomp; 
run; 

但也许有没有额外的PROC SQL一步一个解决方案...