请选择 进入手机版 | 继续访问电脑版
楼主: 吕不韦
1428 3

[学习分享] 新手求助下,出入这段宏程序没有输出值。根据小白学sas这本书,按照书上内容输入的。 [推广有奖]

  • 0关注
  • 0粉丝

大专生

11%

还不是VIP/贵宾

-

威望
0
论坛币
3067 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
222 点
帖子
27
精华
0
在线时间
53 小时
注册时间
2012-9-18
最后登录
2019-9-4

吕不韦 发表于 2018-10-18 16:46:14 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
按照小白学sas里面输入的,第一次输入宏程序,点击运行没有输出值,日志指示把代码展示一遍,没有提示。求大神们给解答下,谢谢。
%let data=sasuser.xb;
%let id=id;
%macro outline(var=,low=,high=);
data outline;
set &data.(keep=&id. &var.);
length variable $20. reason $20.;
variable="&var.";
value=&var.;
if &var.<$low. and not missing(&var.) then do;
reason="过低";
output;
end;
else if &var.>&high. and not missing(&var.) then do;
reason="过高";
output;
end;
drop &var.;
proc append base=outliner1 data=outline;
run;
&mend outline;
%outline(var=height,low=150,high=200);
%outline(var=weight,low=40,high=100);
%outline(var=y1,low=1,high=5);
%outline(var=y2,low=1,high=5);
%outline(var=y3,low=1,high=5);
%outline(var=y4,low=1,high=5);
%outline(var=y5,low=1,high=5);
proc print data=outliner1;
run;


二维码

扫码加我 拉你入群

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

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

关键词:第一次 宏程序 输出值

吕不韦 发表于 2018-10-18 16:53:31 |显示全部楼层 |坛友微信交流群
  1. %let data=sasuser.xb;
  2. %let id=id;
  3. %macro outline(var=,low=,high=);
  4. data outline;
  5. set &data.(keep=&id. &var.);
  6. length variable $20. reason $20.;
  7. variable="&var.";
  8. value=&var.;
  9. if &var.<$low. and not missing(&var.) then do;
  10. reason="过低";
  11. output;
  12. end;
  13. else if &var.>&high. and not missing(&var.) then do;
  14. reason="过高";
  15. output;
  16. end;
  17. drop &var.;
  18. proc append base=outliner1 data=outline;
  19. run;
  20. &mend outline;
  21. %outline(var=height,low=150,high=200);
  22. %outline(var=weight,low=40,high=100);
  23. %outline(var=y1,low=1,high=5);
  24. %outline(var=y2,low=1,high=5);
  25. %outline(var=y3,low=1,high=5);
  26. %outline(var=y4,low=1,high=5);
  27. %outline(var=y5,low=1,high=5);
  28. proc print data=outliner1;
  29. run;
复制代码

使用道具

洪哥得势1 发表于 2018-10-19 14:20:41 |显示全部楼层 |坛友微信交流群
把&mend outline;    换成 %mend outline;  试一下呢
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
吕不韦 + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

吕不韦 发表于 2018-10-22 13:51:56 |显示全部楼层 |坛友微信交流群
洪哥得势1 发表于 2018-10-19 14:20
把&mend outline;    换成 %mend outline;  试一下呢
非常感谢!层主技术和人品都是当代雷锋!

使用道具

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

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

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

GMT+8, 2024-3-29 15:35