2017-06-22 20 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ステップのない解決策がある...