Veröffentlicht am :
ETL EXTERNE

Extraktion und Konsolidierung von Steuerdaten über REST-API

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Skript definiert ein Makro '%json', das über einen Bereich von Jahren und Ergebnis-Seiten iteriert. Für jede Iteration ruft es eine REST-API über PROC HTTP auf, liest den zurückgegebenen JSON-Stream über die LIBNAME JSON Engine und konsolidiert die Ergebnisse in einer einzigen Tabelle über PROC SQL (UNION). Schließlich wendet ein Data Step koreanische Labels an und filtert ungültige Datensätze. Hinweis: Der Pfad 'C:\json\' muss für eine SAS© Viya-Umgebung (Linux) angepasst werden.
Datenanalyse

Type : EXTERNE


Die Daten stammen von der URL 'http://openapi.openfiscaldata.go.kr/RevenuesSettled' (öffentliche API).

1 Codeblock
SETUP
Erklärung :
Definition von Makrovariablen (Pfad, Bibliothek, API-Schlüssel) und Zuweisung der Ausgabebibliothek.
Kopiert!
1%let dir=C:\json\;
2%let lib=json;
3%let String01=WBQMR1000052520180323030651FWHGU;/*apiKey*/
4 
5LIBNAME &lib "&dir";
2 Codeblock
PROC HTTP Data
Erklärung :
Definition des Hauptmakros. Es initialisiert die Tabelle mit der ersten Abfrage und iteriert dann über Jahre und Seiten, um Daten mittels HTTP GET-Anfragen und SQL-Unions zu akkumulieren.
Kopiert!
1%macro json(data_final, String05, date_s, date_e);
2 
3 %let url=&string05?FSCL_YY=&date_s.&key=&string01&type=json&pindex=1&psize=1000;
4 
5 filename out temp;PROC HTTP url="&url" method="get" out=out;RUN;
6 LIBNAME raw json fileref=out;
7 
8 DATA &lib .&data_final;SET raw.Revenuessettled_row;RUN;
9 
10 %DO date_want=&date_s %to &date_e;
11 %DO string02=1 %to 4;
12 
13 %let url=&string05?FSCL_YY=&date_want.&key=&string01&type=json&pindex=&string02&psize=1000;
14 
15 filename out temp;PROC HTTP url="&url" method="get" out=out;RUN;
16 LIBNAME raw json fileref=out;
17 
18 PROC SQL;
19 create TABLE &lib .&data_final as
20 select distinct * from
21 (select a.* from &lib .&data_final as a union select b.* from raw.Revenuessettled_row as b)
22 QUIT;
23 RUN;
24 
25 %END;
26 %END;
27%mend;
3 Codeblock
MACRO CALL Data
Erklärung :
Makroaufruf zum Extrahieren von Daten von 2012 bis 2015.
Kopiert!
1%json(data_final=longdata_002, String05=http://openapi.openfiscaldata.go.kr/RevenuesSettled, date_s=2012, date_e=2015);
2 
4 Codeblock
DATA STEP Data
Erklärung :
Bereinigung der finalen Tabelle (Löschen fehlender Jahre) und Anwendung von Metadaten (Spaltenbezeichnungen) in Koreanisch.
Kopiert!
1DATA &lib .longdata_002;
2SET &lib .longdata_002;
3IF FSCL_YY="" THEN delete;
4label FSCL_YY=회계연도;
5/* ... (autres labels omis pour brièveté) ... */
6label NRC_AMT =미수납액(원);
7RUN;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.