我正在尝试访问Quandl(http://www.quandl.com)数据。 Quandl是一个开放的网站,我们可以从中下载有关许多财务和经济主题的可读时间序列数据。他们以这样的方式构建它,你可以通过R / Matlab / Eviews / Python等来调用它。我正在尝试使用SAS。当我尝试网站正常csv下载调用Quandl数据“FRED / MSWP5”没有任何日期条件它工作正常,我能够创建SAS数据集。 代码如下:
filename DAAA url "http://www.quandl.com/api/v1/datasets/FRED/MSWP5.csv?";
data BY_AAA(drop=dd);
length dd $10;
format date date9.;
infile DAAA dlm="," dsd;
input dd$ value;
date=input(dd,yymmdd10.);
if not missing(date) then output;
run;
成功日志:
NOTE: The data set WORK.BY_AAA has 152 observations and 2 variables.
NOTE: DATA statement used (Total process time):
real time 0.88 seconds
cpu time 0.03 seconds
但是当我尝试使用相同的查询传递日期条件时,它会给出错误: 新的SAS代码如下:但是我能够用R / Python / Matlab和它们各自的代码实现预期的结果。
filename DAAA url "http://www.quandl.com/api/v1/datasets/FRED/MSWP5.csv?
&trim_start=2000-07-01&trim_end=2013-02-01&sort_order=desc";
data BY_AAA(drop=dd);
length dd $10;
format date date9.;
infile DAAA dlm="," dsd;
input dd$ value;
date=input(dd,yymmdd10.);
if not missing(date) then output;
run;
它给出了以下错误:
not working due to "&" sign is coming so SAS is saying
WARNING: Apparent symbolic reference TRIM_START not resolved.
WARNING: Apparent symbolic reference TRIM_END not resolved.
WARNING: Apparent symbolic reference SORT_ORDER not resolved.
我知道这是与转义字符句柄相关的问题。 任何人都可以帮助我......我也试过下面的代码:
filename DAAA url "http://www.quandl.com/api/v1/datasets/FRED/MSWP5.csv?%
26start_date=2012-07-01%26end_date=2013-02-01%26sort_order=desc" debug
lrecl=8192;
在这种情况下,没有SAS日志即将到来,正在创建一个0观察的空白数据集。
答案 0 :(得分:2)
这些不是错误本身。他们注意到你正在写一些看似宏变量的东西;但是,如果它们没有被定义为宏变量,它们仍将作为文本传递,包括&标志。我运行了你的代码并收到了结果。
如果您将“双引号”更改为“单引号”,SAS将不会尝试解析字符串中的宏变量,并且警告将消失。