全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1395 3
2015-05-07
啊啊啊,我是sas菜鸟啊,现在碰到一个问题怎么都不会编程现在来求教各位大神~~~问题如下:
一个sas数据集里面有上证A股所有大概一千多只股票从2009年到2013年每天的收益率,下面是一部分
截图未命名.jpg
现在想把它们按照日期拆分成多个数据集,举个例子:2009年1月5号的所有股票观测都存入一个数据集,最好以日期来命名
貌似要用到宏,但是日期是字符型的,完全不知道怎么下手啊
求大神指点~~~

附件列表
截图未命名.jpg

原图尺寸 20.33 KB

截图未命名.jpg

二维码

扫码加我 拉你入群

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

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

全部回复
2015-5-7 16:26:45
data a2009 b2010;
set dataset;
if trddt='05jan2009'd then output a2009;
if trddt='03jan2010'd then output b2010;
run;
二维码

扫码加我 拉你入群

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

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

2015-5-7 17:20:46
%macro want;
        %let bg=%sysfunc(mdy(1,1,2009));
        %let ed=%sysfunc(mdy(12,31,2013));

        %do i=&bg. %to &ed.;

                data _null_;
                        ii=strip(put(&i.,yymmddn8.));
                        call symput("ii",ii);
                run;

                data want_&ii.;
                        set plants.allstock2;

                        if dt=&i.;
                run;

        %end;
%mend;

%want
二维码

扫码加我 拉你入群

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

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

2015-5-7 23:01:45
缘oO来如此0o 发表于 2015-5-7 17:20
%macro want;
        %let bg=%sysfunc(mdy(1,1,2009));
        %let ed=%sysfunc(mdy(12,31,2013));
太感谢了!!!!虽然我看不懂,但是还是用上了!!!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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