全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3531 3
2011-07-21
今天写了一段代码
执行起来报错
没有解析符号引用A
&a=.
初步判断是call symput语句没起作用,不知道具体问题发生在什么地方,还请高手不吝赐教,谢谢!

%macro directory(dir=);         /*定义宏directory,并定义宏变量路径(dir)*/
%let rs=%sysfunc(filename(filref,&dir));    /*读取dir下的文件数*/
%let did=%sysfunc(dopen(&filref));
%let nobs1=%sysfunc(dnum(&did));
libname tmp "E:\sas\tmp";
%do i=1 %to &nobs1.;      /* 利用一个do循环,将文件夹下所有文件定义视图文件*/
    %let name=%qscan(%qsysfunc(dread(&did,&i)),1,.);
    %let ext=%qscan(%qsysfunc(dread(&did,&i)),-1,.);
    %let Variety=%substr(&name,10);
%let date=%substr(&name,1,9);
%end;
data _null_;
set sum.&date;
call symput('a',kind);/*kind为sum.&date中的变量名*/
%put &a.=;
run;
%mend;
%directory(dir=E:\sas\已规范格式\2010-09-27\);
二维码

扫码加我 拉你入群

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

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

全部回复
2011-7-21 11:51:06
忘了说了

data _null_;
set sum.&date;
call symput('a',kind);
%put &a.=;
run;

在这段语句中 kind是sum.&date数据集中的一个变量名
二维码

扫码加我 拉你入群

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

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

2011-7-21 12:44:33
data步中产生的macro,无法在该data步中被调用
二维码

扫码加我 拉你入群

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

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

2011-7-21 12:53:46
多谢指教!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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