全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6886 19
2012-12-09
部分代码摘录如下,其中提示不能解析宏变量&&&cnt&&filen&i.._&&filen&i._&j...,两个&&都能被解析。

/*file names match process,下面有误,不能识别cnt*/
    data tempt1_&&filen&i.._&&filen&i._&j..;
    set indexfile&&filen&i.._&&filen&i._&j.. end=flag;
        name=filen;
        %let n1_&&filen&i.._&&filen&i._&j..=scan(filen,1,".");
  
    %if flag=1 %then %let cnt&&filen&i.._&&filen&i._&j..=compress(scan(filen,2,"."),"0");;

   
   
    run;

    data tempt2_&&filen&i.._&&filen&i._&j..;
    length name $200. ;
       %do k=1 %to &&&cnt&&filen&i.._&&filen&i._&j...;
       %if &k.<10 %then name=trim(&&&n1_&&filen&i.._&&filen&i._&j...||".000"||left(&k.))||".pdf";
       %else name=trim(&&&n1_&&filen&i.._&&filen&i._&j...||".00"||left(&k.))||".pdf";;
       name=left(name);
       output;
       %end;
       run;;

   
        %end;
二维码

扫码加我 拉你入群

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

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

全部回复
2012-12-9 14:30:41
%do k=1 %to &&&cnt&&filen&i.._&&filen&i._&j...;
这句不知有什么问题
二维码

扫码加我 拉你入群

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

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

2012-12-9 19:12:16
新人2012 发表于 2012-12-9 14:30
%do k=1 %to &&&cnt&&filen&i.._&&filen&i._&j...;
这句不知有什么问题
再加一个&试试,就是前面有四个&
二维码

扫码加我 拉你入群

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

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

2012-12-9 22:55:30
playmore 发表于 2012-12-9 19:12
再加一个&试试,就是前面有四个&
非常感谢!试了一个午,什么;;,什么let,proc sql,symput定义宏变量,都试过了!
有币一定给你加币,但没币,只能给你空白的“感谢”,见谅
二维码

扫码加我 拉你入群

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

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

2012-12-10 01:12:25
继续请教,
批量导入txt文件,如果碰到txt是空白文件,循环即中止,但如何转入继续读下一个txt
二维码

扫码加我 拉你入群

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

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

2012-12-10 01:53:31
归根到底还是&&&&cnt&&filen&i.._&&filen&i._&j变量的问题,碰到空白文件,不能形成数据集,
call symput("cnt&&filen&i.._&&filen&i._&j",cnt&&filen&i.._&&filen&i._&j) ,不能被赋值,循环中止。

有什么好办法跳过吗?
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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