0

Eurostat 数据可以通过REST API下载。API 的响应格式是根据 SDMX-ML 标准格式化的 XML 文件。使用 SAS,可以非常方便地使用libname语句和XMLXMLv2引擎访问 XML 文件。

目前,我正在使用xmlv2引擎以及automap=生成xmlmap访问数据的选项。有用。但是生成的 SAS 数据集非常非结构化,对于要下载的另一个数据集,数据结构可能会发生变化。此外,请求可能取决于 Eurostat 为不同 XML 文件中的每个数据库项目提供的 DSD 文件。

代码如下:

%let path = /your/working/directory/;

filename map "&path.map.txt";
filename resp "&path.resp.txt";

proc http 
    URL="http://ec.europa.eu/eurostat/SDMX/diss-web/rest/data/cdh_e_fos/..PC.FOS1.BE/?startperiod=2005&endPeriod=2011" 
    METHOD="GET"
    OUT=resp;
run;quit;

libname resp XMLv2 automap=REPLACE xmlmap=map;

proc datasets;
copy out=WORK in=resp;
run;quit;

使用上面的代码,您可以在您的 WORK 库中查看所有下载的数据。一团糟。

根据 Eurostat 的描述下载另一个时间序列更改 URL 的参数。

所以这是我的问题

有没有一种方法可以轻松地xmlmap从对 DSD 文件的调用中生成一个,以便数据以结构良好的方式存储?

由于 SDMX-ML 标准广泛用于欧洲央行、欧盟统计局、经合组织等公共机构……我想知道是否有人已经对数据库实施了请求。我知道Banca Italia使用 javaObject 的工具。但是,我想知道是否有没有 javaObject 的解决方案。

4

0 回答 0