0

Eurostat のデータは、REST API経由でダウンロードできます。API の応答形式は、SDMX-ML 標準に従ってフォーマットされた XML ファイルです。libnameSAS では、非常に便利なことに、ステートメントとXMLorXMLv2エンジンを使用して 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 標準は、ECB、Eurostat、OECD などの公的機関で広く使用されているため、誰かがデータベースへの要求を既に実装しているかどうか疑問に思っています。javaObject を使用するBanca Italiaのツールについて知っています。ただし、javaObject を使用しないで解決策があるのではないかと考えていました。

4

0 に答える 0