Last observation: A: 2022 (N = 1533)
First observation: A: 1950 (N = 218)
Last data update: 02 aoû 2026, 09:09. Last compile: 18 aoû 2026, 02:46
Data - OECD
Last observation: A: 2022 (N = 1533)
First observation: A: 1950 (N = 218)
Last data update: 02 aoû 2026, 09:09. Last compile: 18 aoû 2026, 02:46






SNA_TABLE13 |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
group_by(TRANSACT, Transact, SECTOR, MEASURE) |>
summarise(Nobs = n()) |>
arrange(-Nobs) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13_var$VAR_DESC |>
print_table_conditional()| id | description |
|---|---|
| LOCATION | Country |
| TRANSACT | Transaction |
| SECTOR | Sector |
| MEASURE | Measure |
| TIME | Year |
| OBS_VALUE | Observation Value |
| TIME_FORMAT | Time Format |
| OBS_STATUS | Observation Status |
| UNIT | Unit |
| POWERCODE | Unit multiplier |
| REFERENCEPERIOD | Reference period |
SNA_TABLE13 |>
filter(LOCATION == "USA",
obsTime == "2018") |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(SECTOR, TRANSACT, Transact, obsValue) |>
spread(SECTOR, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
filter(LOCATION == "DEU",
obsTime == "2018") |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(SECTOR, TRANSACT, Transact, obsValue) |>
spread(SECTOR, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
filter(LOCATION == "FRA",
obsTime == "2018") |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(SECTOR, TRANSACT, Transact, obsValue) |>
spread(SECTOR, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
filter(LOCATION == "JPN",
obsTime == "2018") |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(SECTOR, TRANSACT, Transact, obsValue) |>
spread(SECTOR, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
filter(LOCATION == "GBR",
obsTime == "2018") |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(SECTOR, TRANSACT, Transact, obsValue) |>
spread(SECTOR, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
filter(LOCATION == "CHN",
obsTime == "2016") |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(SECTOR, TRANSACT, Transact, obsValue) |>
spread(SECTOR, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
filter(SECTOR == "SS1",
LOCATION == "USA") |>
filter(obsTime %in% c("1970", "1980", "1990", "2000", "2018")) |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(obsTime, TRANSACT, Transact, obsValue) |>
spread(obsTime, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
filter(SECTOR == "SS11_S12",
LOCATION == "USA") |>
filter(obsTime %in% c("1970", "1980", "1990", "2000", "2018")) |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(obsTime, TRANSACT, Transact, obsValue) |>
spread(obsTime, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
filter(SECTOR == "SS11_S12",
LOCATION == "USA") |>
filter(obsTime %in% c("1970", "1980", "1990", "2000", "2018")) |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(obsTime, TRANSACT, Transact, obsValue) |>
spread(obsTime, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
filter(SECTOR == "SS14_S15",
LOCATION == "USA") |>
filter(obsTime %in% c("1970", "1980", "1990", "2000", "2018")) |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(obsTime, TRANSACT, Transact, obsValue) |>
spread(obsTime, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
filter(SECTOR == "SS1",
LOCATION == "FRA") |>
filter(obsTime %in% c("1950", "1970", "1990", "2010", "2018")) |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(obsTime, TRANSACT, Transact, obsValue) |>
spread(obsTime, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
filter(SECTOR == "SS11_S12",
LOCATION == "USA") |>
filter(obsTime %in% c("1970", "1980", "1990", "2000", "2018")) |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(obsTime, TRANSACT, Transact, obsValue) |>
spread(obsTime, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
filter(SECTOR == "SS11_S12",
LOCATION == "USA") |>
filter(obsTime %in% c("1970", "1980", "1990", "2000", "2018")) |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(obsTime, TRANSACT, Transact, obsValue) |>
spread(obsTime, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
filter(SECTOR == "SS14_S15",
LOCATION == "USA") |>
filter(obsTime %in% c("1970", "1980", "1990", "2000", "2018")) |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(obsTime, TRANSACT, Transact, obsValue) |>
spread(obsTime, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
filter(SECTOR == "SS1",
LOCATION == "JPN",
obsTime %in% c("1994", "2002", "2010", "2017")) |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(obsTime, TRANSACT, Transact, obsValue) |>
spread(obsTime, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
filter(SECTOR == "SS11_S12",
LOCATION == "JPN",
obsTime %in% c("1994", "2002", "2010", "2017")) |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(obsTime, TRANSACT, Transact, obsValue) |>
spread(obsTime, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
filter(SECTOR == "SS11_S12",
LOCATION == "JPN",
obsTime %in% c("1994", "2002", "2010", "2017")) |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(obsTime, TRANSACT, Transact, obsValue) |>
spread(obsTime, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
filter(SECTOR == "SS14_S15",
LOCATION == "JPN",
obsTime %in% c("1994", "2002", "2010", "2017")) |>
left_join(SNA_TABLE13_var$TRANSACT, by = "TRANSACT") |>
left_join(SNA_TABLE1_B1_GE, by = c("LOCATION", "obsTime")) %>%
mutate(obsValue = round(100*obsValue / B1_GE, 1) |> paste0("%")) |>
select(obsTime, TRANSACT, Transact, obsValue) |>
spread(obsTime, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
# NFK1R: Consumption of fixed capital
filter(TRANSACT %in% c("SP5P", "B1_GE"), #
# SS1: Total economy
SECTOR == "SS1") |>
left_join(SNA_TABLE13_var$LOCATION, by = "LOCATION") |>
select(Location, TRANSACT, obsTime, obsValue) |>
spread(TRANSACT, obsValue) |>
na.omit() |>
mutate(SP5P_B1_GE = (100*SP5P / B1_GE) |> round(1) |> paste("%")) |>
select(Location, obsTime, SP5P_B1_GE) |>
group_by(Location) |>
summarise(year_first = first(obsTime),
value_first = first(SP5P_B1_GE),
year_last = last(obsTime),
value_last = last(SP5P_B1_GE)) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
# NFK1R: Consumption of fixed capital
filter(TRANSACT %in% c("SK1R", "B1_GE"),
SECTOR == "SS1") |>
left_join(SNA_TABLE13_var$LOCATION, by = "LOCATION") |>
select(Location, TRANSACT, obsTime, obsValue) |>
spread(TRANSACT, obsValue) |>
na.omit() |>
mutate(SK1R_B1_GE = (100*SK1R / B1_GE) |> round(1) |> paste("%")) |>
select(Location, obsTime, SK1R_B1_GE) |>
group_by(Location) |>
summarise(year_first = first(obsTime),
value_first = first(SK1R_B1_GE),
year_last = last(obsTime),
value_last = last(SK1R_B1_GE)) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SNA_TABLE13 |>
# NFK1R: Consumption of fixed capital
filter(TRANSACT %in% c("SP5P", "B1_GE", "SK1R"),
SECTOR == "SS1") |>
left_join(SNA_TABLE13_var$LOCATION, by = "LOCATION") |>
select(Location, TRANSACT, obsTime, obsValue) |>
spread(TRANSACT, obsValue) |>
na.omit() |>
mutate(net_inv_B1_GE = (100*(SP5P-SK1R) / B1_GE) |> round(1) |> paste("%")) |>
select(Location, obsTime, net_inv_B1_GE) |>
group_by(Location) |>
summarise(year_first = first(obsTime),
value_first = first(net_inv_B1_GE),
year_last = last(obsTime),
value_last = last(net_inv_B1_GE)) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}