【发布时间】:2014-01-29 11:50:59
【问题描述】:
您好,我在尝试访问远程服务器并下载数据的宏时遇到了一些问题。下面的宏代码是粗体的,后面是日志数据。主要问题是传递给宏的数据不会在远程服务器上的调用中解析,而是在执行 put 语句时解析。
我假设存储在宏中的数据的本地性质没有传递到远程服务器,%put 在本地执行,但远程执行的上传无法识别 &sdb。
我们将不胜感激。
%macro getcrspprices( dvar,rl, rh, mvar, sdb, odb, cdb);
%let wrds=wrds.wharton.upenn.edu 4016;
options comamid=TCP remote=WRDS;
signon username= %%%% password="%%%%" ;
rsubmit;
libname crsp '/wrds/crsp/sasdata/a_stock';
%put &sdb;
proc upload data=&sdb out=dta;
run; *upload file from my computer;
LOG数据下方为斜体
后面部分的 MPRINT 输出:
MPRINT(GETCRSPPRICES): ; libname crsp '/wrds/crsp/sasdata/a_stock';
SYMBOLGEN: Macro variable SDB resolves to work.spinnerslist
work.spinnerslist
MPRINT(GETCRSPPRICES): proc upload data=&sdb out=dta;
MPRINT(GETCRSPPRICES): run;
那么错误就集中在上传语句上:
proc upload data=&sdb out=dta;
-
22
200
WARNING: Apparent symbolic reference SDB not resolved.
ERROR 22-322: Syntax error, expecting one of the following: a name,
a quoted string.
ERROR 200-322: The symbol is not recognized and will be ignored.
【问题讨论】: