Sas应用之宏变量%eval

Sas应用之宏变量%eval
定义如下:The %EVAL function evaluates integer arithmetic or logical expressions. %EVAL operates by converting its argument from a character value to a numeric or logical expression. Then, it performs the evaluation. Finally, %EVAL converts the result back to a character value and returns that value.。
一、程序思路 做一个简单的例子,实现1到100相加的结果,通过添加和去掉%eval掌握%eval的用法。
二、程序如下:
%macro a;
%let sum=0;
%do i=1 %to 100 %by 1;
%let sum=&sum+&i;
%put &sum.;
%end;
%mend;
%a;

在该宏中,实现从1到100的相加,每次循环都put出sum的结果;本次结果如下:


没有实现数值计算,而是以字符的形式做了输出;为什么会是这样的呢?原因在于sum=&sum+&i这里没有使用%eval宏函数进行计算。添加后程序为:
%macro a;
%let sum=0;
%do i=1 %to 100 %by 1;
%let sum=%eval(&sum+&i);
%put &sum.;
%end;
%mend;
%a;

结果如下:
1
3
6
10
15
21
28
36
45
55
66
78
91
105
120
136
153
171
190
210
231
253
276
300
325
351
378
406
435
465
496
528
561
595
630
666
703
741
780
820
861
903
946
990
1035
1081
1128
1176
1225
1275
1326
1378
1431
1485
1540
1596
1653
1711
1770
1830
1891
1953
2016
2080
2145
2211
2278
2346
2415
2485
2556
2628
2701
2775
2850
2926
3003
3081
3160
3240
3321
3403
3486
3570
3655
3741
3828
3916
4005
4095
4186
4278
4371
4465
4560
4656
4753
4851
4950
5050

可关注微信号:SAS应用分析
可移步我的简书:
http://www.jianshu.com/p/8ee69ff41c66

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值