Platform
Resources
Pricing
Sign in
Get started
anndawn
Workspace
Fork
Published
By
anndawn
Edited
Jun 30, 2020
Insert cell
md
`# World Bank Metadata API`
Insert cell
allData
=
d3
.
json
(
"https://www.ilo.org/surveyLib/index.php/api/catalog/search?collection=LFS&ps=10000"
)
Insert cell
Insert cell
Insert cell
Insert cell
get_topic
=
{
let
arr
=
[
]
format_info
.
map
(
d
=>
arr
.
push
(
...
d
.
topics
)
)
return
Array
.
from
(
new
Set
(
arr
)
)
}
Insert cell
Insert cell
survey_id
=
variable_occupation
.
map
(
d
=>
d
.
sid
)
Insert cell
limited_studies_2
=
limited_info
.
filter
(
d
=>
survey_id
.
includes
(
d
.
id
)
)
Insert cell
Insert cell
// select the most recent survey for each country that contains data on earning and occupation
selected_surveys
=
limited_studies_2
.
filter
(
d
=>
d
.
year_end
==
recent
[
d
.
nation
]
)
Insert cell
Insert cell
promises
=
variable_apis
.
map
(
d
=>
d3
.
json
(
d
)
)
Insert cell
// get variable for each selected survey
data_variables
=
Promise
.
all
(
promises
)
Insert cell
// these are all the variables from 52 selected surveys
get_relevant
=
{
let
questions
=
[
]
for
(
let
i
of
data_variables
)
{
let
labels
=
i
[
'variables'
]
.
map
(
d
=>
{
return
{
question
:
d
.
labl
,
vid
:
d
.
vid
,
sid
:
d
.
sid
}
}
)
questions
.
push
(
...
labels
)
}
return
questions
}
Insert cell
jsonp
=
require
(
"@tmcw/jsonp@0.2.2"
)
Insert cell
d3
=
require
(
"d3"
)
Insert cell
// test api structure
vars
=
d3
.
json
(
'https://www.ilo.org/surveyLib/index.php/api/catalog/VNM_2018_LFS_v01_M_ILO_VAR/variables'
)
Insert cell
vars
.
variables
.
filter
(
d
=>
d
.
labl
.
includes
(
'earning'
)
)
Insert cell
variable_occupation
=
{
let
newarr
=
[
]
for
(
let
t
of
data_variables
)
{
newarr
.
push
(
...
t
.
variables
.
filter
(
d
=>
d
.
name
==
'ilo_job1_ocu_isco08_2digits'
)
)
// newarr.push(...t.variables.filter(d=>d.name=='ilo_job1_eco_isic4'))
}
return
newarr
}
Insert cell
occupation_urls
=
variable_occupation
.
map
(
d
=>
`https://www.ilo.org/surveyLib/index.php/api/catalog/${
selected_surveys
.
filter
(
s
=>
(
s
.
id
==
d
.
sid
)
)
[
0
]
.
idno
}/variables/${
d
.
vid
}`
)
Insert cell
occupation_data
=
Promise
.
all
(
occupation_urls
.
map
(
d
=>
d3
.
json
(
d
)
)
)
Insert cell
variable_earning
=
{
let
newarr
=
[
]
for
(
let
t
of
data_variables
)
{
newarr
.
push
(
...
t
.
variables
.
filter
(
d
=>
d
.
name
==
'ilo_job1_lri_ees'
)
)
}
return
newarr
}
Insert cell
earning_urls
=
variable_earning
.
map
(
d
=>
`https://www.ilo.org/surveyLib/index.php/api/catalog/${
selected_surveys
.
filter
(
s
=>
(
s
.
id
==
d
.
sid
)
)
[
0
]
.
idno
}/variables/${
d
.
vid
}`
)
Insert cell
earning_data
=
Promise
.
all
(
earning_urls
.
map
(
d
=>
d3
.
json
(
d
)
)
)
Insert cell
total_data
=
[
...
earning_data
,
...
occupation_data
]
.
map
(
d
=>
d
.
variable
)
Insert cell
// https://microdata.worldbank.org/index.php/api/catalog?id_format=ID/2705
Insert cell
ihsn_url
=
selected_surveys
.
map
(
d
=>
`https://catalog.ihsn.org/index.php/api/catalog/${
d
.
idno
.
slice
(
0
,
d
.
idno
.
length
-
8
)
}`
)
Insert cell
ihsn_data
=
Promise
.
all
(
ihsn_url
.
map
(
d
=>
d3
.
json
(
d
)
)
)
Insert cell
Purpose-built for displays of data
Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Try it for free
Learn more
Fork
View
Export
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
allData
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
study_infos
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
get_all_api
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
format_info
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
get_topic
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
limited_info
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
survey_id
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
limited_studies_2
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
recent
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
selected_surveys
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
variable_apis
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
promises
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
data_variables
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
get_relevant
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
jsonp
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
d3
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
vars
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
variable_occupation
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
occupation_urls
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
occupation_data
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
variable_earning
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
earning_urls
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
earning_data
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
total_data
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
ihsn_url
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
ihsn_data
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML