0

我正在尝试访问 Quandl(http://www.quandl.com)数据。Quandl 是一个开放网站,我们可以从该网站下载有关许多金融和经济主题的现成可用的精选时间序列数据。他们以这样一种方式构建它,您可以通过 R/Matlab/Eviews/Python 等方式调用它。我正在从 SAS 尝试。当我在没有任何日期条件的情况下尝试网站 Normal 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 的空白数据集。

4

1 回答 1

2

这些本身不是错误。它们说明您正在编写一些看起来像宏变量的东西;但是,如果它们未定义为宏变量,它们仍将作为包含 & 符号的文本向前传递。我运行了您的代码并收到了结果。

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

于 2013-08-31T04:51:36.130 回答