PrepperPrepper Open Data Bank

住宅・土地統計調査(2018年版) 住宅及び世帯に関する基本集計【CI_HLS18_01】

概要

このデータセットは、全統計調査の統計量テーブル【CI_ST】から「住宅・土地統計調査(2018年版) 住宅及び世帯に関する基本集計」項目データを抜き出し、市区町村統計量マスタ【CI_ST_MST】及び市区町村調査マスタ【CI_TB_MST】と市区町村マスタテーブル【CI_MST】を組み合わせたビューです。

SQL

E_CI_HLS18_01】

  1. create or replace secure view PODB_CITY.BETA.E_CI_HLS18_01(
  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|元データのカラム名は地域など’
  23. ) COMMENT=’住宅・土地統計調査住宅及び世帯に関する基本集計 | 2018年’
  24.  as select aa.*, research_master.ESTATDB_TABLE_NAME,city_master.CITY_NAME
  25. from
  26. (
  27.     //条件を絞ったresearch_statsからすべて、stats_masterから使うデータを選択をする
  28.     select research_stats.*,
  29.            stats_master.//ESTATDB_STATS_FULL_ID,
  30.                         ESTATDB_STATS_FULL_NAME,
  31.                         ESTATDB_RESEARCH_TABLE_ID,
  32.                         STATS_TAB01_CODE,
  33.                         STATS_TAB01_NAME,
  34.                         STATS_CAT01_CODE,
  35.                         STATS_CAT01_NAME,
  36.                         STATS_CAT02_CODE,
  37.                         STATS_CAT02_NAME,
  38.                         STATS_CAT03_CODE,
  39.                         STATS_CAT03_NAME,
  40.                         STATS_CAT04_CODE,
  41.                         STATS_CAT04_NAME,
  42.                         STATS_CAT05_CODE,
  43.                         STATS_CAT05_NAME
  44.                            
  45.     
  46.     
  47.     from
  48.     ( //(PODB_RESEARCH_TABLE_ID, 7) = ‘0612018’であるデータをPODB_CITY.BETA.CI_STからすべてを選択し、それをresearch_statsとする。
  49.         select * from PODB_CITY.BETA.CI_ST
  50.         where left(ESTATDB_STATS_FULL_ID, 7) = ‘0612018’
  51.     ) as research_stats
  52.         //research_statsとstats_masterをESTATDB_STATS_FULL_IDでleft join。このときのPODB_CITY.BETA.CI_ST_MSTはstats_masterにとしている。
  53.         //left joinの条件はresearch_stats.ESTATDB_STATS_FULL_ID =stats_master.ESTATDB_STATS_FULL_IDである。
  54.         //ここでのprimary keyはESTATDB_STATS_FULL_IDである。
  55.         //結合のprimary keyはmiroを参考にすること。
  56.     left join
  57.     PODB_CITY.BETA.CI_ST_MST as stats_master
  58.     on research_stats.ESTATDB_STATS_FULL_ID =stats_master.ESTATDB_STATS_FULL_ID
  59. //research_statsとstats_masterを条件で結合したものをaaとする。aaの部分は任意の名前で良い
  60. ) as aa
  61. //aaとresearch_masterをESTATDB_RESEARCH_TABLE_IDでleft joinする。このときPODB_CITY.BETA.CI_TB_MSTをresearch_masterとしている
  62. //left joinの条件はaa.ESTATDB_RESEARCH_TABLE_ID = research_master.ESTATDB_RESEARCH_TABLE_ID。
  63. //ここでのprimary keyはESTATDB_RESEARCH_TABLE_IDである。
  64. //結合のprimary keyはmiroを参考にすること。
  65. left join PODB_CITY.BETA.CI_TB_MST as research_master
  66. on aa.ESTATDB_RESEARCH_TABLE_ID = research_master.ESTATDB_RESEARCH_TABLE_ID
  67. //aa.CITY側のみのデータを必要とする
  68. //citymaster.CITY_CODEとaa.CITY_CODEをright joinする。
  69. //PODB_CITY.BETA.CI_MSTをcity_masterとしている。
  70. inner join PODB_CITY.BETA.CI_MST as city_master
  71. on city_master.CITY_CODE = aa.CITY_CODE
  72. //市区町村の統計量のみを確実に表示するために使用
  73. where NOT CITY_NAME=’null’;

J_CI_HLS18_01

  1. create or replace secure view PODB_CITY.BETA.J_CI_HLS18_01(
  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|元データのカラム名は地域など’
  23. ) COMMENT=’住宅・土地統計調査住宅及び世帯に関する基本集計 | 2018年’
  24.  as select aa.*, research_master.ESTATDB_TABLE_NAME,city_master.CITY_NAME
  25. from
  26. (
  27.     //条件を絞ったresearch_statsからすべて、stats_masterから使うデータを選択をする
  28.     select research_stats.*,
  29.            stats_master.//ESTATDB_STATS_FULL_ID,
  30.                         ESTATDB_STATS_FULL_NAME,
  31.                         ESTATDB_RESEARCH_TABLE_ID,
  32.                         STATS_TAB01_CODE,
  33.                         STATS_TAB01_NAME,
  34.                         STATS_CAT01_CODE,
  35.                         STATS_CAT01_NAME,
  36.                         STATS_CAT02_CODE,
  37.                         STATS_CAT02_NAME,
  38.                         STATS_CAT03_CODE,
  39.                         STATS_CAT03_NAME,
  40.                         STATS_CAT04_CODE,
  41.                         STATS_CAT04_NAME,
  42.                         STATS_CAT05_CODE,
  43.                         STATS_CAT05_NAME
  44.      from
  45.     ( //(PODB_RESEARCH_TABLE_ID, 7) = ‘0612018’であるデータをPODB_CITY_DATA.BETA.CI_STからすべてを選択し、それをresearch_statsとする。
  46.         select * from PODB_CITY.BETA.CI_ST
  47.         where left(ESTATDB_STATS_FULL_ID, 7) = ‘0612018’
  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】を併せて指定してください。