全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3165 7
2016-04-11
悬赏 10 个论坛币 已解决
前面的股票代码(stkcd)类似这样的一列数字:

000004
000004
000004
000002
000002
000007
000007
600021
600021
600021


.................
想多加一列从1开始的数字(num)作为标签变成这样:

000004   1
000004   1
000004   1
000002   2
000002   2
000007   3
000007   3
600021   4
600021   4
600021   4

...................
请问怎么办呀?才入门SAS求指导
二维码

扫码加我 拉你入群

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

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

全部回复
2016-4-11 14:07:38
复制代码
二维码

扫码加我 拉你入群

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

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

2016-4-11 14:43:48
孤单的我们 发表于 2016-4-11 14:07
能不能再问您一下 我写的宏为什么一直循环没有停止呀?我明明写了%end

%macro ma;                                                                                                                                                                                                                                                      
  %do num=1 %to 2223;                                                                                                                                                                                                                                          
      data t4_1;                                                                                                                                                                                                                                                
        set t3;                                                                                                                                                                                                                                                
        RETAIN Mretwd_sum 0;                                                                                                                                                                                                                                    
        last60=lag60(Mretwd);                                                                                                                                                                                                                                   
        if count gt 60 then Mretwd_sum=sum(Mretwd_sum,Mretwd,-last60);                                                                                                                                                                                          
        else Mretwd_sum=sum(Mretwd_sum,Mretwd);                                                                                                                                                                                                                                                                                                                     
      run;                                                                                                                                                                                                                                                      
  %end;                                                                                                                                                                                                                                                         
%mend;
二维码

扫码加我 拉你入群

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

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

2016-4-11 14:54:11
赵天静 发表于 2016-4-11 14:43
能不能再问您一下 我写的宏为什么一直循环没有停止呀?我明明写了%end

%macro ma;                    ...
这个循环有什么意义吗?执行了2223次一样的操作,应该是循环的次数太多。
二维码

扫码加我 拉你入群

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

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

2016-4-11 15:09:22
孤单的我们 发表于 2016-4-11 14:54
这个循环有什么意义吗?执行了2223次一样的操作,应该是循环的次数太多。
想对每一只股票都求一次移动平均。。一共有2333只股票
就想 在new=1的里面,做一次if;在new=2里面,做一次if。。。。。。。在new=2223里面,做一次if
二维码

扫码加我 拉你入群

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

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

2016-4-11 16:25:19
赵天静 发表于 2016-4-11 15:09
想对每一只股票都求一次移动平均。。一共有2333只股票
就想 在new=1的里面,做一次if;在new=2里面,做 ...
复制代码
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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