苹果/安卓/wp
初中生
使用道具 举报
硕士生
在原来的程序前面加上此句
proc sql;
create table fund1.stockholings as
select fundname, stockname, amount,
(amount/sum(amount)) as percent format=percent8.2
from fund.stockholdings
group by fundname;
加上红字体就变成数据集了 数据集就是fund1.stockholdings
就变成数据集了 数据集就是fund1.stockholdings
这个方法也是可行,更为简便!谢谢!!
再请教一下楼上几位高人:如果我还有一列是日期数据,要先按日期排,再按基金名称排,如何编写?
date fundname stockname amount percent
20080131 a add 100
20080131 a ajd 190
20080131 b bjk 1900
20080131 b bud 3000
20080228 a ad 300
20080228 a aj 400
20080228 b bj 3800
20080228 b bu 4000
我要算1.31日和2.28日,不同日期各股票在每只基金中的占比,如何编写?
如果还按原来的编写就不能识别不同的日期。
譬如在proc sql句法中,是否只需要改写最后一句group by。。。就可以了?
希望各位能再次 不吝赐教!
请哪位高人指点一下~
不胜感激!
本科生
select date, fundname, stockname, amount,
group by date,fundname;
quit;
在group by 那里加上date就可以了
虽然我自己试出来了,但是还是非常感谢楼上这位仁兄的指教!
但是现在还有一个问题 想向各位请教一下:
就上面这个问题,我用了两种方法都试了,都可以用。
但发现用sql语句后,在同一日同一基金中的股票数据会换行,也就是说原来在第3行的会到第1行,虽然结果没有问题,但打乱了观测数据的行数。但这个问题在用sas data语句时就不会出现。 为什么呢?
是否是sql语句本身的问题?还是编写语句时出了问题?
能否告知小弟!?!?
小学生
happytalent 发表于 2008-6-12 13:27 变为这种形式 a adefd &nb ...
发表回复 回帖后跳转到最后一页
京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明 免责及隐私声明