楼主: zchq100
883 2

请高手帮我看看我的这段程序,谢谢 [推广有奖]

  • 0关注
  • 0粉丝

本科生

36%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
3 点
热心指数
3 点
信用等级
2 点
经验
152 点
帖子
62
精华
0
在线时间
101 小时
注册时间
2008-9-5
最后登录
2017-9-28

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请大家帮忙看看我这个程序,我想生成100个sample,每个sample100只股票。一只股票要选进一个sample必须满足几个条件(主要由下面的几个where和if完成),可是这个k并没有帮我完成计数的功能,请问该如何修改?谢谢了!

%macro sample_construction;
%do i=1 %to 100;

%do %until (namesample&i.k=100);
  data number;
    number=ceil(120*uniform(-123));
  run;
  proc sql;
    create table evntmon as
    select date as evntmon
    from kw.evntper as a, number as b
    where a.j=b.number;
  run;
  proc surveyselect data=kw.name  method = urs sampsize =1
     rep=1 out=tempname noprint;
     id cusip;
  run;

  proc sql;
    create table comp as
    select a.cusip, m as l, c.evntmon
    from kw.nyam_new as a, tempname as b, evntmon as c
    where a.cusip=b.cusip and a.date=c.evntmon;
  quit;
  proc sql;
    create table work.tempobs as
    select a.*, b.evntmon
    from kw.nyam_new as a, comp as b
    where a.cusip=b.cusip;
  quit;
  data _null_;
    set tempobs comp;
    if m=l-24 then call symput(id, cusip);
  run;
  data namesample&i;
    set namesample&i comp;
    if cusip=id then k=k+1;
  run;

%end;
proc sql;
  create table kw.newsample&i as
  select a.*, b.evntmon  
  from kw.nyam_new as a, work.namesample&i as b
  where a.cusip=b.cusip;
quit;
%end;
%mend sample_construction;
%sample_construction;

二维码

扫码加我 拉你入群

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

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

关键词:Construction surveyselect proc sql Uniform Surveys

沙发
843446747 发表于 2012-5-29 08:34:27 |只看作者 |坛友微信交流群
不懂

使用道具

藤椅
zchq100 发表于 2012-5-29 11:15:28 |只看作者 |坛友微信交流群
用了一个宏变量和sas的nobs终于搞出来了。

使用道具

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

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

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

GMT+8, 2024-5-13 14:13