Type : EXTERNE
Datos recuperados dinámicamente a través de la API 'openapi.openfiscaldata.go.kr' (Open Fiscal Data) en formato JSON.
| 1 | %let dir=C:\json\; |
| 2 | %let lib=json; |
| 3 | %let String01=WBQMR1000052520180323030651FWHGU;/*apiKey*/ |
| 4 | |
| 5 | LIBNAME &lib "&dir"; |
| 1 | %macro json(data_final, String05, date_s, date_e); |
| 2 | /* ... boucle date ... */ |
| 3 | %let url=&string05?FSCL_YY=&date_want&key=&string01&type=json&pindex=&string02&psize=1000; |
| 4 | |
| 5 | filename out "&dir.SeriesDataOut.txt" recfm=v lrecl=999999999; |
| 6 | PROC HTTP out=out url="&url" method="post" ct="application/json"; |
| 7 | RUN; |
| 1 | DATA raw; |
| 2 | INFILE "&dir.SeriesDataOut.txt" dsd lrecl=999999999 dlm='{}[]:,'; |
| 3 | INPUT raw : $2000. /* ... */; |
| 4 | RUN; |
| 5 | |
| 6 | DATA temp; |
| 7 | MERGE raw raw(firstobs=2 rename=(raw=_raw)); |
| 8 | IF mod(_n_,2) eq 0; |
| 9 | RUN; |
| 10 | /* ... logique de groupe ... */ |
| 1 | PROC TRANSPOSE DATA=temp out=data_one(drop=_:); |
| 2 | BY group; |
| 3 | id raw; |
| 4 | var _raw; |
| 5 | RUN; |
| 6 | |
| 7 | DATA &lib..&data_final; |
| 8 | SET &lib..&data_final data_one; |
| 9 | RUN; |
| 1 | /*변수명, 변수 형태 변경_start*/ |
| 2 | DATA &lib .longdata_002; |
| 3 | SET &lib .longdata_002; |
| 4 | IF FSCL_YY="" THEN delete; |
| 5 | label FSCL_YY=회계연도; |
| 6 | /* ... autres labels ... */ |
| 7 | label NRC_AMT =미수납액(원); |
| 8 | keep &var_want; |
| 9 | RUN; |