data mysas.jijin; input jijin$ gupiao$ qian; cards; a adefd 10000 a dfef 3000 a kddd 4000 b adfd 20000 b adfdad 2000 b jkdj 4000 b jdkd 900 ; run; data mysas.jijin2; set mysas.jijin; by jijin; if first.jijin then total=0; total+qian; run; data mysas.jijin3; set mysas.jijin2; by jijin; if last.jijin; run; data mysas.b; merge mysas.jijin mysas.jijin3; by jijin; rate=qian/total; run;
fundname stockname amount percent --------------------------------------- a adefd 10000 58.82% a kddd 4000 23.53% a dfef 3000 17.65% b jkdj 4000 14.87% b jdkd 900 3.35% b adfdad 2000 7.43% b adfd 20000 74.35%
data mysas.jijin; input jijin$ gupiao$ qian; cards; a adefd 10000 a dfef 3000 a kddd 4000 b adfd 20000 b adfdad 2000 b jkdj 4000 b jdkd 900 ; run; data mysas.jijin2; set mysas.jijin; by jijin; if first.jijin then total=0; total+qian; run; data mysas.jijin3; set mysas.jijin2; by jijin; if last.jijin; run; data mysas.b; merge mysas.jijin mysas.jijin3; by jijin; rate=qian/total; run;
代码弄好了~你要用的话先要建立一个mysas,或者把代码中的MYSAS去掉~
第一次研究这个问题,所以做的有点复杂~见谅~应该有更加简单的方法的~
最后一步有问题:
data mysas.b; merge mysas.jijin mysas.jijin3; by jijin; rate=qian/total; run;
data mysas.jijin; input jijin$ gupiao$ qian; cards; a adefd 10000 a dfef 3000 a kddd 4000 b adfd 20000 b adfdad 2000 b jkdj 4000 b jdkd 900 ; run; data mysas.jijin2; set mysas.jijin; by jijin; if first.jijin then total=0; total+qian; run; data mysas.jijin3; set mysas.jijin2; by jijin; if last.jijin; run; data mysas.b; merge mysas.jijin mysas.jijin3; by jijin; rate=qian/total; run;
代码弄好了~你要用的话先要建立一个mysas,或者把代码中的MYSAS去掉~
第一次研究这个问题,所以做的有点复杂~见谅~应该有更加简单的方法的~
在第三步中稍作修改
data mysas.jijin3 (keep=jijin total); set mysas.jijin2; by jijin; if last.jijin; run;