コンテンツにスキップ
Queria Docs
日本語
Esc
↑↓navigate↵open⌘Jpreview
このページの内容

e_stat

e-Stat(政府統計の総合窓口)の API と統計GIS から取得した政府統計データです。中心となるのは社会・人口統計体系(SSDS)で、都道府県・市区町村それぞれ11分野の統計指標を共通のテーブル構造で収録しています。加えて消費者物価…

e-Stat データセットの使い方

e-Stat(政府統計の総合窓口)の API と統計GIS から取得した政府統計データです。中心となるのは社会・人口統計体系(SSDS)で、都道府県・市区町村それぞれ11分野の統計指標を共通のテーブル構造で収録しています。加えて消費者物価指数、統計表のメタデータ、令和2年国勢調査の小地域(町丁・字等)集計と境界データを収録します。

出典: e-Stat / 社会・人口統計体系(SSDS)

スキーマとテーブルの構成

スキーマ 内容
ssds 社会・人口統計体系。11分野 × 都道府県/市区町村 = 22テーブル + 指標定義 item_catalog
cpi 消費者物価指数 price_index
main 統計表カタログ stats_catalog
census 令和2年国勢調査 小地域集計 census_small_area_*(年齢・世帯・住宅・産業)
boundary 令和2年国勢調査 町丁・字等別境界 small_area

11分野(A〜K)の詳細は各カテゴリのガイドを参照してください。

SSDS 共通のカラム構成

ssds スキーマの22テーブルはすべて同じ8カラムです。指標を cat01(分類事項コード)で絞り込み、area_name(地域)と year(年)で必要な行を取り出すのが基本です。

  • cat01: 分類事項コード(指標を一意に識別する。例: A1101 = 総人口)
  • item_name: 分類事項名(例: A1101_総人口)
  • area: 地域コード(全国は 00000、都道府県は 13000 のような5桁)
  • area_name: 地域名(全国 / 東京都 など)
  • time_name: 時間軸名(例: 2020年度)
  • year: 年
  • unit: 単位(例: 人)
  • value: 統計値

重要: 同じ指標が複数行になることがある

SSDS は複数の出典統計表を束ねているため、同一の cat01 × area × year に対して値の等しい行が複数存在することがあります。集計時は MAX(value) や DISTINCT で重ねを取り除いてください。

-- 重複の確認(同一条件で複数行が返る)
SELECT cat01, area_name, year, COUNT(*) AS rows, COUNT(DISTINCT value) AS distinct_values
FROM e_stat.ssds.a_pref_population
WHERE cat01 = 'A1101' AND area_name = '全国' AND year = 2024
GROUP BY cat01, area_name, year

指標を探す: item_catalog

どの cat01 を使えばよいかは item_catalog を item_name で検索して調べます。item_code がそのまま各カテゴリテーブルの cat01 になります。# で始まる item_code は算出指標の定義で、各カテゴリテーブルには収録されていないため除外します。

SELECT DISTINCT table_title, item_code, item_name, unit
FROM e_stat.ssds.item_catalog
WHERE item_name LIKE '%総人口%'
  AND item_code NOT LIKE '#%'
ORDER BY item_code
LIMIT 20

基本パターン1: 全国の時系列

area_name = '全国' で絞り、year ごとに MAX(value) を取ります。

SELECT year, MAX(value) AS population
FROM e_stat.ssds.a_pref_population
WHERE cat01 = 'A1101' AND area_name = '全国'
GROUP BY year
ORDER BY year

基本パターン2: 都道府県ランキング(最新年)

最新年をサブクエリで求め、全国 を除いて並べます。この「最新年 + MAX(value)」の形はどのカテゴリでも使えます。

SELECT area_name, MAX(value) AS population
FROM e_stat.ssds.a_pref_population
WHERE cat01 = 'A1101'
  AND area_name <> '全国'
  AND year = (SELECT MAX(year) FROM e_stat.ssds.a_pref_population WHERE cat01 = 'A1101')
GROUP BY area_name
ORDER BY population DESC
LIMIT 10

市区町村単位で見たい場合は a_municipal_population 以下の *_municipal_* テーブルを使います。area_name は 茨城県 つくば市 のように県名と市区町村名が入ります。

分野一覧(SSDS)

分野 都道府県テーブル 市区町村テーブル
A 人口・世帯 a_pref_population a_municipal_population
B 自然環境 b_pref_land b_municipal_land
C 経済基盤 c_pref_economy c_municipal_economy
D 行政基盤 d_pref_administration d_municipal_administration
E 教育 e_pref_education e_municipal_education
F 労働 f_pref_labor f_municipal_labor
G 文化・スポーツ g_pref_culture g_municipal_culture
H 居住 h_pref_housing h_municipal_housing
I 健康・医療 i_pref_health i_municipal_health
J 福祉・社会保障 j_pref_welfare j_municipal_welfare
K 安全 k_pref_safety k_municipal_safety

このレシピの SQL は Queria のデータセットページ上でそのまま実行できます。

このページは役に立ちましたか?