楼主: ivvvvv
988 1

[统计软件] 求大神帮我看看代码哪里错误,之前类似的程序都对了,可是这段就是不出结果??? [推广有奖]

  • 0关注
  • 0粉丝

小学生

57%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
186 点
帖子
3
精华
0
在线时间
12 小时
注册时间
2014-12-2
最后登录
2018-1-5

楼主
ivvvvv 发表于 2014-12-2 19:37:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
options validvarname=any;
%macro x2(start,end,pay,money); /*账单日,消费日,消费金额,还款金额*/

data _null_;
hkdate=mdy(month(&start),23,year(&start)); /*到期还款日*/
minhk=%sysevalf(&pay*0.1);
mnd=intnx('month',&start,1,'sameday');
chaz1=datdif(&end,hkdate,'act/act');
chaz2=datdif(hkdate,mnd,'act/act');
pd1=%sysevalf(&end>='01jul2011'd and &end<='31dec2015'd);
pd3=%sysevalf(&pay>10000);
pd5=%sysevalf(&money>=minhk);
pd6=%sysevalf(&money<&pay);
call symput('hkdate',hkdate);
call symput('minhk',minhk);
call symput('mnd',mnd);
call symput('chaz1',chaz1);
call symput('chaz2',chaz2);
call symput('pd1',pd1);
call symput('pd3',pd3);
call symput('pd5',pd5);
call symput('pd6',pd6);
/*信用额度是10000*/
run;

%macro create;
data solu;
本期账单日=&start;
消费日=&end;
本期还款日=&hkdate;
消费金额=&pay;
本期最低还款额=&minhk;
还款金额=&money;
滞纳金=&znm;
循环利息=&xhlx;
下次欠款=&ntqk;
下期最低还款额=&nminhk;
超限费=&cxf;
run;
proc print data=solu;
run;
%mend create;

%if (&pd1=1 and (&pd5=1 and &pd6=1)) or (&pd1=0 and (&pd5=1 and &pd6=1) and &pd3=0) %then
%do;
     %let znm=0;
     %let xhlx1=%sysevalf(&pay*0.0005*&chaz1);
     %let xhlx2=%sysevalf(%sysevalf(&pay-&money)*0.0005);
     %let xhlx=%sysevalf(&xhlx1+%sysevalf(&xhlx2*&chaz2));
     %let ntqk=%sysevalf(&pay-&money+&xhlx);
     %let nminhk=%sysevalf(&minhk+&xhlx);
     %let cxf=0;
     %create;
%end;

%if &pd1=0 and (&pd5=1 and &pd6=1) and &pd3=1 %then
%do;
     %let znm=0;
     %let xhlx1=%sysevalf(&pay*0.0005*&chaz1);
     %let xhlx2=%sysevalf(%sysevalf(&pay-&money)*0.0005);
     %let xhlx=%sysevalf(&xhlx1+%sysevalf(&xhlx2*&chaz2));
     %let ntqk=%sysevalf(&pay-&money+&xhlx);
     %let nminhk=%sysevalf(&minhk+&xhlx);
     %let cxf=%sysevalf(%sysevalf(&pay-10000)*0.05);
     %create;
%end;
%mend x2;
run;

%x2('05oct2008'd,'30sep2008'd,1000,100);
run;

二维码

扫码加我 拉你入群

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

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

关键词:options Option Start money month 账单日 money start null 程序

沙发
ivvvvv 发表于 2014-12-2 19:39:24
求大神帮忙?十万火急火急~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-5 15:27