/*================================================== project: display and load auxiliary tables in PIP Author: R.Andres Castaneda E-email: acastanedaa@worldbank.org url: Dependencies: The World Bank ---------------------------------------------------- Creation Date: 25 Mar 2022 - 14:38:22 Modification Date: Do-file version: 01 References: Output: ==================================================*/ /*================================================== 0: Program set up ==================================================*/ program define pip_tables, rclass syntax [anything(name=table)], [ /// server(string) /// version(string) /// release(numlist) /// PPP_year(numlist) /// identity(string) /// clear /// ] version 16 /*================================================== 1: SET UP ==================================================*/ qui { *---------- API defaults qui pip_versions, /// server(`server') /// version(`version') /// release(`release') /// ppp_year(`ppp_year') /// identity(`identity') local server = "`r(server)'" local url = "`r(url)'" local version = "`r(version)'" local version_qr = "`r(version_qr)'" /*================================================== 2: If table is selected ==================================================*/ if ("`table'" != "") { local table_call = "`url'/aux?table=`table'&`version_qr'&format=csv" import delimit "`table_call'", varn(1) `clear' asdouble return local table_call = "`table_call'" * rename vars. Modify the following locals local oldvars "reporting_year survey_year" local newvars "year welfare_time" gettoken old oldvars : oldvars gettoken new newvars : newvars qui while ("`old'" != "") { cap confirm new var `old', exact if (_rc) cap confirm var `new', exact if (_rc) rename `old' `new' gettoken old oldvars : oldvars gettoken new newvars : newvars } * to lower cases local tolvars "welfare_type" foreach t of local tolvars { cap confirm new var `t', exact if (_rc) replace `t' = lower(`t') } exit } /*================================================== 3: If table is NOT selected ==================================================*/ if ("`table'" == "") { preserve local table_call = "`url'/aux?`version_qr'&format=csv" import delimit "`table_call'", varn(1) clear asdouble return local table_call = "`table_call'" noi disp in y "Auxiliary tables available for `version':" local _N = _N forvalues i = 1/`_N' { if (length("`i'") == 1) local j = "0" + "`i'" else local j = "`i'" local table = tables[`i'] local pip_code "pip tables, table(`table') server(`server') version(`version') clear" noi disp _col(6) `"`j' {c |} {stata `pip_code':`table'}"' } } } // end qui end exit /* End of do-file */ ><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>< Notes: 1. 2. 3. Version Control: