楼主: b1s1z1
334 4

[程序分享] sas宏输出问题 [推广有奖]

  • 2关注
  • 2粉丝

本科生

65%

还不是VIP/贵宾

-

威望
0
论坛币
329 个
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
10532 点
帖子
70
精华
0
在线时间
106 小时
注册时间
2013-9-13
最后登录
2018-9-20

b1s1z1 发表于 2018-7-10 21:39:15 |显示全部楼层
如下:个人学识不精,请问大神为何输出只是字段名?

%MACRO BMI(WEIGH,HIGH);
DATA BMI;
SET sashelp.class;
BMI=ROUND(&WEIGH/(&HIGH*&HIGH/(100*100)),0.01);
IF 100<BMI<500 THEN OUT="体重为&WEIGH.,身高为&HIGH.";
KEEP Name Sex  &HIGH &WEIGH BMI out;
RUN;
PROC SORT ;BY BMI;RUN;
%MEND;
%BMI(WEIGH=Weight ,HIGH=Height);RUN;

1.png



已有 1 人评分热心指数 收起 理由
eijuhz + 1 精彩帖子

总评分: 热心指数 + 1   查看全部评分

stata SPSS
l1i2n3i4n5g 在职认证  发表于 2018-7-11 09:44:05 |显示全部楼层
  1. %MACRO BMI(WEIGH,HIGH);
  2. DATA BMI;
  3. SET sashelp.class;
  4. BMI=ROUND(&WEIGH/(&HIGH*&HIGH/(100*100)),0.01);
  5. IF 100<BMI<500 THEN OUT=cats("体重为",&WEIGH.,",身高为",&HIGH.);
  6. KEEP Name Sex  &HIGH &WEIGH BMI out;
  7. RUN;
  8. PROC SORT ;BY BMI;RUN;
  9. %MEND;
  10. %BMI(WEIGH=Weight ,HIGH=Height);RUN;
复制代码
回复

使用道具 举报

b1s1z1 发表于 2018-7-11 20:08:21 |显示全部楼层
l1i2n3i4n5g 发表于 2018-7-11 09:44
厉害!感谢,新get一个函数!
回复

使用道具 举报

b1s1z1 发表于 2018-7-11 20:17:18 |显示全部楼层
可是,为什么在引号里&不能引用数据?印象里在一本书中见过可以引用,但不知自己在什么地方有疏漏?
回复

使用道具 举报

rain52 发表于 2018-7-26 09:54:49 |显示全部楼层
b1s1z1 发表于 2018-7-11 20:17
可是,为什么在引号里&不能引用数据?印象里在一本书中见过可以引用,但不知自己在什么地方有疏漏?
在“”里面解析的是宏变量名,而不是数据集变量名
回复

使用道具 举报

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

GMT+8, 2018-9-21 05:10