全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1101 1
2018-12-12
data miss;
run;
%macro a;
%do i= 1 %to 25;
data _null_;
set mulu;
if _n_ =&i then call symput("bl",NAME);
run;
proc sql;
select count(id) into:no
from xinxi_f
where  &bl is null;
quit;
data miss;
set miss;
&bl=input(&no,8.);
run;
%end;
%mend;
%a;
代码如上,宏变量no是用sql从数据集中取出的一个数字,基本为6位数,因为宏变量获取的是字符型,所以用input转换了下,但是结果会被截断为2位,检查过,宏变量提取没问题,如果用%let=%eval(&no)预先转换也没有问题,但就是用了input那句就不行,烦请大神帮忙看下,是什么原因



二维码

扫码加我 拉你入群

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

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

全部回复
2018-12-13 15:34:57
以下两个地方的差异(与你代码段对比):
select count(id) into:no TRIMMED
&bl=input("&no",8.);
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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