楼主: funwin
16125 17

求助 如何算占比 [推广有奖]

11
k0751 发表于 2008-6-12 21:56:00 |只看作者 |坛友微信交流群
感谢楼下提醒~~
data mysas.jijin3;
set mysas.jijin2;
by jijin;
if last.jijin;
keep total jijin;
run;
不好意思,要在第三个data步稍修改下~

使用道具

12
happytalent 发表于 2008-6-12 22:07:00 |只看作者 |坛友微信交流群

在原来的程序前面加上此句

  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

使用道具

13
funwin 发表于 2008-6-12 23:45:00 |只看作者 |坛友微信交流群
以下是引用happytalent在2008-6-12 21:54:00的发言:

在原来的程序前面加上此句

  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

这个方法也是可行,更为简便!谢谢!!

使用道具

14
funwin 发表于 2008-6-13 00:07:00 |只看作者 |坛友微信交流群

再请教一下楼上几位高人:如果我还有一列是日期数据,要先按日期排,再按基金名称排,如何编写?

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。。。就可以了?

希望各位能再次 不吝赐教!

  

使用道具

15
funwin 发表于 2008-6-13 20:24:00 |只看作者 |坛友微信交流群

请哪位高人指点一下~

不胜感激!

使用道具

16
sakunamary 发表于 2008-6-13 22:53:00 |只看作者 |坛友微信交流群

proc sql;

 create table fund1.stockholings as

  select date, fundname, stockname, amount,

      (amount/sum(amount)) as percent  format=percent8.2

  from fund.stockholdings

  group by date,fundname;

quit;

在group by 那里加上date就可以了


我sas故我在

使用道具

17
funwin 发表于 2008-6-14 00:58:00 |只看作者 |坛友微信交流群

虽然我自己试出来了,但是还是非常感谢楼上这位仁兄的指教!

但是现在还有一个问题 想向各位请教一下:

就上面这个问题,我用了两种方法都试了,都可以用。

但发现用sql语句后,在同一日同一基金中的股票数据会换行,也就是说原来在第3行的会到第1行,虽然结果没有问题,但打乱了观测数据的行数。但这个问题在用sas data语句时就不会出现。 为什么呢?

是否是sql语句本身的问题?还是编写语句时出了问题?

能否告知小弟!?!?

使用道具

18
hxx_xuan 发表于 2014-9-14 10:44:22 |只看作者 |坛友微信交流群
happytalent 发表于 2008-6-12 13:27
变为这种形式            a adefd &nb ...
你好!我就是想要这样转置,应该如何操作,请教一下,在线等,谢谢你了

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 06:17