楼主: AgnesZhang
1449 3

求帮忙创建一个macro程序 [推广有奖]

  • 0关注
  • 0粉丝

小学生

50%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
56 点
帖子
4
精华
0
在线时间
7 小时
注册时间
2015-11-6
最后登录
2016-11-28

楼主
AgnesZhang 发表于 2016-11-22 04:22:15 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各路大神,

我目前在做一个risk management的项目,现在需要去求roll rate,data step写出来的程序是这样的,希望能够做一个简化。
data task1;
        set p2.delinquency_buckets;
        RR_0_30=DPD30/lag(Curr_Bal);
        RR_30_60=DPD60/lag(DPD30);
        RR_60_90=DPD90/lag(DPD60);
        RR_90_120=DPD120/lag(DPD90);
        RR_120_150=DPD150/lag(DPD120);
        RR_150_180=DPD180/lag(DPD150);
run;

求一些不同的方法,谢谢!

二维码

扫码加我 拉你入群

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

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

关键词:Macro CRO acr Mac 求帮忙 程序

沙发
zgp480 发表于 2016-11-22 15:13:51
试一下这个,data _null_ 把你的variables写入macro variables, &var1/&vare/。。。data task结构和你的一样。希望对你有帮助。(声明:我没有运行过)
data _null_ ;
    input var $ @@;
    call symputx(cats('var', _n_), var) ;
cards ;
curr_bal DPD30 DPD60 DPD90 DPD120 DPD180
;
run ;

data task ;
   set p2.delinquency_buckets ;
   RR_0_30    = &var1/lag(&var2) ;
   RR_30_60   = &var2/lag(&var3) ;
   RR_60_90   = &var3/lag(&var4) ;
   RR_90_120  = &var4/lag(&var5) ;
   RR_120_180 = &var5/lag(&var6) ;
run ;

藤椅
lovexialulu 发表于 2016-11-22 17:06:38
%macro jj(p,q);
   RR_&p._&q.=DPD&q./lag(DPD&p.);
%mend jj;

data task1;
        set p2.delinquency_buckets;

        RR_0_30=DPD30/lag(Curr_Bal);
  %jj(60,90);
  %jj(90,120);
  %jj(120,150);
  %jj(150,180);
run;

板凳
AgnesZhang 发表于 2016-11-23 10:38:51
lovexialulu 发表于 2016-11-22 17:06
%macro jj(p,q);
   RR_&p._&q.=DPD&q./lag(DPD&p.);
%mend jj;
非常感谢呀,我这就去试试了

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-3 21:39