全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2400 9
2015-05-17
求教各位大神,现在我有一个数据集a中存放的是上证A股部分股票某个月份每天的收益率,格式如下:
Stkcd(股票代码)     Trddt(年月日)      Ri(收益率)
        ······                    ··········                 ········
其中不知道具体有哪些股票,每只股票在该月份的交易日数不一定相等。现在想按Stkcd来拆分该数据集,最好拆分成以股票代码命名的数据集,求助啊~~~

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-5-19 09:55:42
麻烦给出部分数据,数据可以是自己编的的用来做程序调试;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-5-19 15:48:53
复制代码

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-5-19 19:42:29
data test;
input stkcd $ time:yymmdd10. ri;
format  time yymmdd10.;
datalines;
a1364654 2015-04-02 0.02
a1364652 2015-04-02 0.02
a1364654 2015-04-02 0.02
a1364653 2015-04-02 0.02
a1364654 2015-04-02 0.02
a1364652 2015-04-02 0.02
a1364654 2015-04-02 0.02
;
run;
/*将股票代码汇总*/
proc sql;
create table one as select distinct stkcd
from test;
/*group by stkcd;*/
quit;
/*共有多少个股票代码,设置宏*/
data _null_ ;
set one end=final;
call symput(compress('ST'||left(_n_)),stkcd);
if final then call symput('N',_n_);
run;
%macro ttt();
%do i=1 %to &N.;
        data &&ST&i.;       
                set test;
    if stkcd="&&ST&i." then output &&ST&i.;
        run;
%end;
%mend;
/*调用宏语句*/
%ttt();


将代码调优后应该能满足你那个需求。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-5-21 09:30:40
lanzezhuang 发表于 2015-5-19 15:48
谢谢你!!!看上去应该可以用,我先去试试~~~好感动啊,好人会有好报的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-5-21 13:58:44
Garffe 发表于 2015-5-21 09:30
谢谢你!!!看上去应该可以用,我先去试试~~~好感动啊,好人会有好报的
不客气,工作之余,回答一下啦!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群