全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4746 4
2016-06-13
本人由于刚接触SAS的宏编程,想试着编写一个简单的加法,大概思路是这样的,即使编写1到n的连加,选定一个n,会出相应的结果。我的试编程序如下:望各位大神指点。
%macro and(n);*存在错误,需要修改;
%let sum=0;
%do i=1 %to &n;
%let &sum=&sum+&i;
%put &∑
%end;
%mend and;
%and(5);
二维码

扫码加我 拉你入群

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

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

全部回复
2016-6-13 21:53:39
复制代码

感觉这样就可以了呢(不太懂put的用法…)
二维码

扫码加我 拉你入群

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

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

2016-6-13 22:43:53
%macro and(n);
%let sum=0;
%do i=1 %to &n;
%let sum=&sum+&i; * 这里是个赋值语句,所以等号左边, 不应该是一个macro variable reference;
%put %eval(&sum);  * 默认情况下, 宏变量是不会自动求和的,需要使用%eval function;
%end;
%mend and;
%and(5);

这样改就可以了吧
二维码

扫码加我 拉你入群

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

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

2016-6-14 08:08:29
Kiran°F 发表于 2016-6-13 21:53
感觉这样就可以了呢(不太懂put的用法…)
你这个显示的为什么是i=6?
二维码

扫码加我 拉你入群

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

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

2016-6-15 04:15:08
当系统i=5做完循环后,i会加1变成6,所以你看到的i是6.不用宏的时候i也是6.
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群