全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5067 3
2015-05-26
各位大神,再用SAS编程时,有如下语句:
%let at=%sysevalf(&a.-1);
%let bt=%sysevalf(&a.+2);
%put at=&at;
%put bt=&bt;
%do if_rtn= &at %to &bt %BY 1;

运行结果显示
at=-116.3
bt=-113.3
ERROR: 在需要数值操作数的 %EVAL 函数或 %IF 条件中发现字符操作数。条件是: &at
ERROR: %FROM 值(%DO IF_RTN 循环中)无效。

求解答,如何可以实现%do过程的初始值与终止值均为宏变量,谢谢!!

二维码

扫码加我 拉你入群

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

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

全部回复
2015-5-27 10:12:25
印象中%do语句不能用by,你应该也查不到%by这个语句,加某些option之后不知道行不行。

你一定要实现的话,用一个by 1的引擎带一下;或者想办法把它放到data步内实现。
二维码

扫码加我 拉你入群

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

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

2015-5-27 13:22:46
Tigflanker 发表于 2015-5-27 10:12
印象中%do语句不能用by,你应该也查不到%by这个语句,加某些option之后不知道行不行。

你一定要实现的话 ...
谢谢,应该不是by的问题,我之前一直这样用的。
二维码

扫码加我 拉你入群

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

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

2015-5-27 18:43:36
应该是do **to**by语句里不能是带小数点的,即只能是整数
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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