Quarterly Sector Accounts - Public Sector Debt, consolidated, nominal value - QASA_TABLE7PSD

Data - OECD


Last observation: Q1 2025 (N = 12)

First observation: Q4 2014 (N = 3)

Last data update: 02 août 2026, 09:05

Last compile: 02 sept. 2026, 23:53

Structure

Layout

  • OECD Website. html

REF_AREA

Code
QASA_TABLE7PSD |>
  left_join(QASA_TABLE7PSD_var$LOCATION, by = c("REF_AREA" = "LOCATION")) |>
  group_by(REF_AREA, Location) |>
  summarise(Nobs = n()) |>
  arrange(-Nobs) |>
  mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
         Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

TRANSACTION

Code
QASA_TABLE7PSD |>
  left_join(QASA_TABLE7PSD_var$TRANSACTION, by = "TRANSACTION") |>
  group_by(TRANSACTION, Transaction) |>
  summarise(Nobs = n()) |>
  arrange(-Nobs) |>
  print_table_conditional()
TRANSACTION Transaction Nobs
SAFGD Total gross debt 1665

SECTOR

Code
QASA_TABLE7PSD |>
  left_join(QASA_TABLE7PSD_var$SECTOR, by = "SECTOR") |>
  group_by(SECTOR, Sector) |>
  summarise(Nobs = n()) |>
  arrange(-Nobs) |>
  print_table_conditional()
SECTOR Sector Nobs
S1311 NA 570
S13G General government 525
S1311B NA 225
S11001 NA 130
S1ZS NA 115
S12001 NA 100

Biggest Debt in $

PCTGDPA - Percentage of GDP, current prices (Nat. Curr.)

Code
QASA_TABLE7PSD |>
  filter(TRANSACTION == "SAFGD",
         MEASURE == "PCTGDPA") |>
  left_join(QASA_TABLE7PSD_var$LOCATION, by = c("REF_AREA" = "LOCATION")) |>
  group_by(REF_AREA, Location) |>
  summarise(year1 = first(TIME_PERIOD),
            value1 = first(obsValue),
            year2 = last(TIME_PERIOD),
            value2 = last(obsValue)) |>
  arrange(-value2) %>%
  mutate_at(vars(value1, value2), funs(paste0(round(.), " %"))) |>
  mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
         Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

CAR - Current prices, annual levels

Code
QASA_TABLE7PSD |>
  filter(TRANSACTION == "SAFGD",
         MEASURE == "CAR") |>
  left_join(QASA_TABLE7PSD_var$LOCATION, by = c("REF_AREA" = "LOCATION")) |>
  group_by(REF_AREA, Location) |>
  summarise(year1 = first(TIME_PERIOD),
            value1 = first(obsValue),
            year2 = last(TIME_PERIOD),
            value2 = last(obsValue)) |>
  arrange(-value2) %>%
  mutate_at(vars(value1, value2), funs(paste0(round(./1000), ""))) |>
  mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
         Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

CXCAR - US $, current prices, current exchange rates, annual levels

Code
QASA_TABLE7PSD |>
  filter(TRANSACTION == "SAFGD",
         MEASURE == "CXCAR") |>
  left_join(QASA_TABLE7PSD_var$LOCATION, by = c("REF_AREA" = "LOCATION")) |>
  group_by(REF_AREA, Location) |>
  summarise(year1 = first(TIME_PERIOD),
            value1 = first(obsValue),
            year2 = last(TIME_PERIOD),
            value2 = last(obsValue)) |>
  arrange(-value2) %>%
  mutate_at(vars(value1, value2), funs(paste0("$ ", round(./1000), " Bn"))) |>
  mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
         Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

France, United States

All

Code
QASA_TABLE7PSD |>
  filter(REF_AREA %in% c("FRA", "USA"),
         TRANSACTION == "SAFGD",
         MEASURE == "CXCAR",
         SECTOR == "S13G") |>
  quarter_to_date() |>
  arrange(desc(date)) |>
  mutate(obsValue = obsValue/10^3) |>
  group_by(date) |>
  filter(n() == 2) |>
  left_join(QASA_TABLE7PSD_var$LOCATION, by = c("REF_AREA" = "LOCATION")) |>
  group_by(REF_AREA) |>
  add_flag_color("Location") |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_2flags +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 40000, 2000))

Log

Code
QASA_TABLE7PSD |>
  filter(REF_AREA %in% c("FRA", "USA"),
         TRANSACTION == "SAFGD",
         MEASURE == "CXCAR",
         SECTOR == "S13G") |>
  quarter_to_date() |>
  arrange(desc(date)) |>
  mutate(obsValue = obsValue/10^3) |>
  group_by(date) |>
  filter(n() == 2) |>
  left_join(QASA_TABLE7PSD_var$LOCATION, by = c("REF_AREA" = "LOCATION")) |>
  group_by(REF_AREA) |>
  add_flag_color("Location") |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_2flags +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 40000, 2000))

Japan, United States

Code
QASA_TABLE7PSD |>
  filter(REF_AREA %in% c("USA", "JPN"),
         TRANSACTION == "SAFGD",
         MEASURE == "CXCAR",
         SECTOR == "S13G") |>
  quarter_to_date() |>
  arrange(desc(date)) |>
  mutate(obsValue = obsValue/10^3) |>
  left_join(QASA_TABLE7PSD_var$LOCATION, by = c("REF_AREA" = "LOCATION")) |>
  group_by(REF_AREA) |>
  add_flag_color("Location") |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_2flags +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 40000, 2000))

France, United Kingdom, Italy, Canada

Code
QASA_TABLE7PSD |>
  filter(REF_AREA %in% c("FRA", "GBR", "ITA", "CAN"),
         TRANSACTION == "SAFGD",
         MEASURE == "CXCAR",
         SECTOR == "S13G") |>
  quarter_to_date() |>
  arrange(desc(date)) |>
  mutate(obsValue = obsValue/10^3) |>
  left_join(QASA_TABLE7PSD_var$LOCATION, by = c("REF_AREA" = "LOCATION")) |>
  group_by(REF_AREA) |>
  group_by(date) |>
  filter(n() == 4) |>
  add_flag_color("Location") |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_4flags +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 40000, 500))