楼主: roberthk309
3553 3

求助 关于call symput语句 [推广有奖]

  • 0关注
  • 0粉丝

高中生

85%

还不是VIP/贵宾

-

威望
0
论坛币
26 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1605 点
帖子
17
精华
0
在线时间
53 小时
注册时间
2009-12-11
最后登录
2019-1-4

楼主
roberthk309 发表于 2011-7-21 11:45:56 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
今天写了一段代码
执行起来报错
没有解析符号引用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\);
二维码

扫码加我 拉你入群

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

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

关键词:symput put语句 call put directory 求助 语句 call symput

沙发
roberthk309 发表于 2011-7-21 11:51:06
忘了说了

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

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

藤椅
soporaeternus 发表于 2011-7-21 12:44:33
data步中产生的macro,无法在该data步中被调用
Let them be hard, but never unjust

板凳
roberthk309 发表于 2011-7-21 12:53:46
多谢指教!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 13:54