使用url方法从SAS访问Quandl数据调用

时间:2013-08-31 04:44:27

标签: url web sas time-series quandl

我正在尝试访问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观察的空白数据集。

1 个答案:

答案 0 :(得分:2)

这些不是错误本身。他们注意到你正在写一些看似宏变量的东西;但是,如果它们没有被定义为宏变量,它们仍将作为文本传递,包括&标志。我运行了你的代码并收到了结果。

如果您将“双引号”更改为“单引号”,SAS将不会尝试解析字符串中的宏变量,并且警告将消失。