PrepperPrepper Open Data Bank

国勢調査:就業状態等基本集計【CI_PCS20_02】

概要

このデータセットは、全統計調査の統計量テーブル【CI_ST】から国勢調査(2020年度版)の「就業状態等基本集計」項目データを抜き出し、市区町村統計量マスタ【CI_ST_MST】及び市区町村調査マスタ【CI_TB_MST】と市区町村マスタテーブル【CI_MST】を組み合わせたビューです。

SQL

E_CI_PCS20_02

  1. create or replace secure view PODB_CITY.BETA.E_CI_PCS20_02(
  2.                ESTATDB_STATS_FULL_ID COMMENT ‘ESTATDB_統計量コード|truestarが付与|『テーブルID』『表01コード』『全カテゴリコード』を結合して独自作成’,
  3.                CITY_CODE COMMENT ‘市区町村コード | 出典:e-Stat | 元データのカラム名はarea_code’,
  4.                STATS_YEAR COMMENT ‘調査年度| 出典:e-Stat| 元データのカラム名は時間軸(年次)’,
  5.                STATS_VALUE COMMENT ‘統計値 | 出典:e-Stat | 元データのカラム名はvalue’,
  6.                STATS_UNIT COMMENT ‘統計単位 | 出典:e-Stat | 元データのカラム名はunit’,
  7.                ESTATDB_STATS_FULL_NAME COMMENT ‘ESTATDB_統計量名|truestarが付与|『表01名』『全カテゴリ名』を結合して独自作成’,
  8.                ESTATDB_RESEARCH_TABLE_ID COMMENT ‘ESTATDB_調査テーブルID|truestarが付与|『調査ID』『テーブルID』を結合して独自作成(関数)’,
  9.                STATS_TAB01_CODE COMMENT ‘統計量_属性_表01コード| 出典:e-Stat|元データのカラム名はtab_code’,
  10.                STATS_TAB01_NAME COMMENT ‘統計量_属性_表01名| 出典:e-Stat|元データのカラム名は表章項目’,
  11.                STATS_CAT01_CODE COMMENT ‘統計量_属性_カテゴリ01コード| 出典:e-Stat|元データのカラム名はcat01_code’,
  12.                STATS_CAT01_NAME COMMENT ‘統計量_属性_カテゴリ01名| 出典:e-Stat’,
  13.                STATS_CAT02_CODE COMMENT ‘統計量_属性_カテゴリ02コード| 出典:e-Stat|元データのカラム名はcat02_code’,
  14.                STATS_CAT02_NAME COMMENT ‘統計量_属性_カテゴリ02名| 出典:e-Stat’,
  15.                STATS_CAT03_CODE COMMENT ‘統計量_属性_カテゴリ03コード| 出典:e-Stat|元データのカラム名はcat03_code’,
  16.                STATS_CAT03_NAME COMMENT ‘統計量_属性_カテゴリ03名| 出典:e-Stat’,
  17.                STATS_CAT04_CODE COMMENT ‘統計量_属性_カテゴリ04コード| 出典:e-Stat|元データのカラム名はcat04_code’,
  18.                STATS_CAT04_NAME COMMENT ‘統計量_属性_カテゴリ04名| 出典:e-Stat’,
  19.                STATS_CAT05_CODE COMMENT ‘統計量_属性_カテゴリ05コード| 出典:e-Stat|元データのカラム名はcat05_code’,
  20.                STATS_CAT05_NAME COMMENT ‘統計量_属性_カテゴリ05名| 出典:e-Stat’,
  21.                ESTATDB_TABLE_NAME COMMENT ‘ESTATDB_テーブル名|『表番号』『表題』『統計表名』を結合して独自作成(関数)’,
  22.                CITY_NAME COMMENT ‘市区町村名|出典:e-Stat|元データのカラム名は全国〜人口50万以上の市など’
  23. ) COMMENT=’国勢調査就業状態等基本集計 | 2020年’
  24.  as select aa.*, research_master.ESTATDB_TABLE_NAME,city_master.CITY_NAME
  25. from
  26. ( //条件を絞ったresearch_statsからすべて、stats_masterから使うデータを選択をする
  27.     select research_stats.*,
  28.            stats_master.//ESTATDB_STATS_FULL_ID,
  29.                         ESTATDB_STATS_FULL_NAME,
  30.                         ESTATDB_RESEARCH_TABLE_ID,
  31.                         STATS_TAB01_CODE,
  32.                         STATS_TAB01_NAME,
  33.                         STATS_CAT01_CODE,
  34.                         STATS_CAT01_NAME,
  35.                         STATS_CAT02_CODE,
  36.                         STATS_CAT02_NAME,
  37.                         STATS_CAT03_CODE,
  38.                         STATS_CAT03_NAME,
  39.                         STATS_CAT04_CODE,
  40.                         STATS_CAT04_NAME,
  41.                         STATS_CAT05_CODE,
  42.                         STATS_CAT05_NAME
  43.     
  44.        
  45.     from
  46.     ( //(PODB_RESEARCH_TABLE_ID, 7) = ‘0122020’であるデータをPODB_CITY.BETA.CI_STからすべてを選択し、それをresearch_statsとする。
  47.         select * from PODB_CITY.BETA.CI_ST
  48.         where left(ESTATDB_STATS_FULL_ID, 7) = ‘0122020’
  49.     ) as research_stats
  50.         //research_statsとstats_masterをESTATDB_STATS_FULL_IDでleft join。このときのPODB_CITY.BETA.CI_ST_MSTはstats_masterにとしている。
  51.         //left joinの条件はresearch_stats.ESTATDB_STATS_FULL_ID =stats_master.ESTATDB_STATS_FULL_IDである。
  52.         //ここでのprimary keyはESTATDB_STATS_FULL_IDである。
  53.         //結合のprimary keyはmiroを参考にすること。
  54.     left join
  55.     PODB_CITY.BETA.CI_ST_MST as stats_master
  56.     on research_stats.ESTATDB_STATS_FULL_ID =stats_master.ESTATDB_STATS_FULL_ID
  57. //research_statsとstats_masterを条件で結合したものをaaとする。aaの部分は任意の名前で良い
  58. ) as aa
  59. //aaとresearch_masterをESTATDB_RESEARCH_TABLE_IDでleft joinする。このときPODB_CITY.BETA.CI_TB_MSTをresearch_masterとしている
  60. //left joinの条件はaa.ESTATDB_RESEARCH_TABLE_ID = research_master.ESTATDB_RESEARCH_TABLE_ID。
  61. //ここでのprimary keyはESTATDB_RESEARCH_TABLE_IDである。
  62. //結合のprimary keyはmiroを参考にすること。
  63. left join PODB_CITY.BETA.CI_TB_MST as research_master
  64. on aa.ESTATDB_RESEARCH_TABLE_ID = research_master.ESTATDB_RESEARCH_TABLE_ID
  65. //aa.CITY側のみのデータを必要とする
  66. //citymaster.CITY_CODEとaa.CITY_CODEをright joinする。
  67. //PODB_CITY.BETA.CI_MSTをcity_masterとしている。
  68. inner join PODB_CITY.BETA.CI_MST as city_master
  69. on city_master.CITY_CODE = aa.CITY_CODE
  70. //市区町村の統計量のみを確実に表示するために使用
  71. where NOT CITY_NAME=’null’;

J_CI_PCS20_02

  1. create or replace secure view PODB_CITY.BETA.J_CI_PCS20_02(
  2.                “ESTATDB_統計量コード” COMMENT ‘truestarが付与|『テーブルID』『表01コード』『全カテゴリコード』を結合して独自作成’,
  3.                “市区町村コード” COMMENT ‘出典:e-Stat|元データのカラム名はAREA_CODE’,
  4.                “調査年度” COMMENT ‘出典:e-Stat| 元データのカラム名は時間軸(年次)’,
  5.                “統計値” COMMENT ‘出典:e-Stat|元データのカラム名はvalue’,
  6.                “統計単位” COMMENT ‘出典:e-Stat|元データのカラム名はunit’,
  7.                “ESTATDB_統計量名” COMMENT ‘truestarが付与|『表01名』『全カテゴリ名』を結合して独自作成’,
  8.                “ESTATDB_調査テーブルID” COMMENT ‘truestarが付与|『調査ID』『テーブルID』を結合して独自作成(間数)’,
  9.                “統計量_属性_表01コード” COMMENT ‘出典:e-Stat|元データのカラム名はtab_code’,
  10.                “統計量_属性_表01名” COMMENT ‘出典:e-Stat|元データのカラム名は表章項目’,
  11.                “統計量_属性_カテゴリ01コード” COMMENT ‘出典:e-Stat|元データのカラム名はcat01_code’,
  12.                “統計量_属性_カテゴリ01名” COMMENT ‘出典:e-Stat’,
  13.                “統計量_属性_カテゴリ02コード” COMMENT ‘出典:e-Stat|元データのカラム名はcat02_code’,
  14.                “統計量_属性_カテゴリ02名” COMMENT ‘出典:e-Stat’,
  15.                “統計量_属性_カテゴリ03コード” COMMENT ‘出典:e-Stat|元データのカラム名はcat03_code’,
  16.                “統計量_属性_カテゴリ03名” COMMENT ‘出典:e-Stat’,
  17.                “統計量_属性_カテゴリ04コード” COMMENT ‘出典:e-Stat|元データのカラム名はcat04_code’,
  18.                “統計量_属性_カテゴリ04名” COMMENT ‘出典:e-Stat’,
  19.                “統計量_属性_カテゴリ05コード” COMMENT ‘出典:e-Stat|元データのカラム名はcat05_code’,
  20.                “統計量_属性_カテゴリ05名” COMMENT ‘出典:e-Stat’,
  21.                “ESTATDB_テーブル名” COMMENT ‘truestarが付与|『表番号』『表題』『統計表名』を結合して独自作成(関数)’,
  22.                “市区町村名” COMMENT ‘出典:e-Stat|元データのカラム名は全国〜人口50万以上の市など’
  23. ) COMMENT=’国勢調査就業状態等基本集計 | 2020年’
  24.  as select aa.*, research_master.ESTATDB_TABLE_NAME,city_master.CITY_NAME
  25. from
  26. ( //条件を絞ったresearch_statsからすべて、stats_masterから使うデータを選択をする
  27.     select research_stats.*,
  28.            stats_master.//ESTATDB_STATS_FULL_ID,
  29.                         ESTATDB_STATS_FULL_NAME,
  30.                         ESTATDB_RESEARCH_TABLE_ID,
  31.                         STATS_TAB01_CODE,
  32.                         STATS_TAB01_NAME,
  33.                         STATS_CAT01_CODE,
  34.                         STATS_CAT01_NAME,
  35.                         STATS_CAT02_CODE,
  36.                         STATS_CAT02_NAME,
  37.                         STATS_CAT03_CODE,
  38.                         STATS_CAT03_NAME,
  39.                         STATS_CAT04_CODE,
  40.                         STATS_CAT04_NAME,
  41.                         STATS_CAT05_CODE,
  42.                         STATS_CAT05_NAME
  43.     
  44.      from
  45.     ( //(PODB_RESEARCH_TABLE_ID, 7) = ‘0122020’であるデータをPODB_CITY_DATA.BETA.CI_STからすべてを選択し、それをresearch_statsとする。
  46.         select * from PODB_CITY.BETA.CI_ST
  47.         where left(ESTATDB_STATS_FULL_ID, 7) = ‘0122020’
  48.     ) as research_stats
  49.         //research_statsとstats_masterをESTATDB_STATS_FULL_IDでleft join。このときのPODB_CITY_DATA.DEV.CI_ST_MSTはstats_masterにとしている。
  50.         //left joinの条件はresearch_stats.ESTATDB_STATS_FULL_ID =stats_master.ESTATDB_STATS_FULL_IDである。
  51.         //ここでのprimary keyはESTATDB_STATS_FULL_IDである。
  52.         //結合のprimary keyはmiroを参考にすること。
  53.     left join
  54.     PODB_CITY.BETA.CI_ST_MST as stats_master
  55.     on research_stats.ESTATDB_STATS_FULL_ID =stats_master.ESTATDB_STATS_FULL_ID
  56. //research_statsとstats_masterを条件で結合したものをaaとする。aaの部分は任意の名前で良い
  57. ) as aa
  58. //aaとresearch_masterをESTATDB_RESEARCH_TABLE_IDでleft joinする。このときPODB_CITY_DATA.BETA.CI_TB_MSTをresearch_masterとしている
  59. //left joinの条件はaa.ESTATDB_RESEARCH_TABLE_ID = research_master.ESTATDB_RESEARCH_TABLE_ID。
  60. //ここでのprimary keyはESTATDB_RESEARCH_TABLE_IDである。
  61. //結合のprimary keyはmiroを参考にすること。
  62. left join PODB_CITY.BETA.CI_TB_MST as research_master
  63. on aa.ESTATDB_RESEARCH_TABLE_ID = research_master.ESTATDB_RESEARCH_TABLE_ID
  64. //aa.CITY側のみのデータを必要とする
  65. //citymaster.CITY_CODEとaa.CITY_CODEをright joinする。
  66. //PODB_CITY_DATA.BETA.CI_MSTをcity_masterとしている。
  67. inner join PODB_CITY.BETA.CI_MST as city_master
  68. on city_master.CITY_CODE = aa.CITY_CODE
  69. where NOT CITY_NAME=’null’;

サンプルデータ

データフィールド

ESTATDB_STATS_FULL_ID

ESTATDB_統計量コード

CITY_CODE

市区町村コード

STATS_YEAR

調査年度

STATS_VALUE

統計値

STATS_UNIT

統計単位

ESTATDB_STATS_FULL_NAME

ESTATDB_統計量名

ESTATDB_RESEARCH_TABLE_ID

ESTATDB_調査テーブルID

STATS_TAB01_CODE

統計量_属性_表01コード

STATS_TAB01_NAME

統計量_属性_表01名

STATS_CAT01_CODE

統計量_属性_カテゴリ01コード

STATS_CAT01_NAME

統計量_属性_カテゴリ01名

STATS_CAT02_CODE

統計量_属性_カテゴリ02コード

STATS_CAT02_NAME

統計量_属性_カテゴリ02名

STATS_CAT03_CODE

統計量_属性_カテゴリ03コード

STATS_CAT03_NAME

統計量_属性_カテゴリ03名

STATS_CAT04_CODE

統計量_属性_カテゴリ04コード

STATS_CAT04_NAME

統計量_属性_カテゴリ04名

STATS_CAT05_CODE

統計量_属性_カテゴリ05コード

STATS_CAT05_NAME

統計量_属性_カテゴリ05名

ESTATDB_TABLE_NAME

ESTATDB_テーブル名

CITY_NAME

市区町村名

特記事項

事象: 

 ESTATDB_統計量名【ESTATDB_STATS_FULL_NAME】は同一であるが、統計量【STATS_VALUE】などが異なるレコードがあります。

異なる理由:

 ESTATDB_テーブル名【ESTATDB_TABLE_NAME】が異なるからです。

詳細:

  •  表番号3-3と表番号4-3-1の例です。
ESTATDB_STATS_FULL_IDESTATDB_STATS_FULL_NAMESTATS_VALUECITY_NAMEESTATDB_TABLE_NAME
0112020009|202001|0|0|00|0人口|国籍総数|総数|総数|総数1,973,395札幌市3-3男女,年齢(5歳階級),出生の月,国籍総数か日本人別人口-全国,都道府県,市区町村
0112020010|202001|0|0|0|00人口|国籍総数|総数|総数|総数1,726,966札幌市4-3-1男女,年齢(5歳階級),配偶関係,国籍総数か日本人別人口(15歳以上)-全国,都道府県,市区町村

※こちらは、他のビューの事例ではありますが、本ビューでも事象は同じです。

事象例:

 ESTATDB_統計量名【ESTATDB_STATS_FULL_NAME】は同一であるにもかかわらず、統計量【STATS_VALUE】等が異なっています。

 統計量が異なっている理由は、表番号3-3は15歳未満も含めた人口総数であり、表番号4-3-1は15歳以上の人口総数であるためです。

注意:

 この場合、ESTATDB_統計量名【ESTATDB_STATS_FULL_NAME】のみを指定して統計値を出すと2テーブルの統計値の合計となってしまいます。

対処方法:

 ESTATDB_統計量名【ESTATDB_STATS_FULL_NAME】を指定して統計値を出す際には、

 ESTATDB_統計コード【ESTATDB_STATS_FULL_ID】やESTATDB_テーブル名【ESTATDB_TABLE_NAME】を併せて指定してください。