統計ダッシュボードの API を調べる(4)

前回取得した j2.json を使いながら、あらためて整理していきます。

統計ダッシュボード – API の解説や [WebAPIマニュアル] とともに見ていきましょう。[WebAPIマニュアル] はリンク先ページの [WebAPIの詳細仕様] ブロックにある表内 No.⑥ の行から PDF や Excel ファイルとして、ダウンロードできます。

リクエストパラメータ

まず curl のリクエストパラメータは以下でした。

curl “https://dashboard.e-stat.go.jp/api/1.0/Json/getData?Lang=JP&IndicatorCode=0201010010000020010,0201010010000020030&Time=2017CY00&RegionalRank=3”

IndicatorCode=0201010010000020010,0201010010000020030
この部分で取得したい統計データを「系列ID」で指定しています。カンマ区切りで複数指定しており、それぞれ「総人口に占める割合(0〜14歳)」「総人口に占める割合(65歳以上)」に対応しています。(2者の関係をプロットするサンプルから抽出したパラメータなので当然です。)
統計ダッシュボード – 提供データ一覧 で確認できます。
WebAPIマニュアルによると、最大 5 個までカンマ区切りで指定できます。

Time=2017CY00
取得したい年を指定しています。
WebAPIマニュアルによると、4桁の西暦値 + “CY00” が年、+ “FY00” が年度です。

RegionalRank=3
WebAPIマニュアルによると、都道府県レベルのデータを取得することを指しています。

データの確認

VSCode で j2.json を開きます。だいたい見ればわかりますね。

  • GET_STATS : 最上位(以降はここは省略して記載します)
  • RESULT : 通信結果
  • PARAMETER : リクエストパラメータの情報
  • STATISTICAL_DATA > RESULT_INF : 戻りデータの件数 (=94件)
  • STATISTICAL_DATA > TABLE_INF > STAT_NAME : 統計名

この続きに実データが格納されています。

  • STATISTICAL_DATA > DATA_INF > DATA_OBJ : 実データの配列

実データ1件(VALUE)の構造から、最低限以下があればプロットできそうです。

  • @indicator : 系列コード(=「総人口に占める割合(0〜14歳)」)
  • @regionCode : 地域コード。今回は RegionalRank=3 でリクエストしており都道府県コード
  • @time : 年
  • $ : 値

そして、@regionCode について合計47都道府県分が繰り返されたあと、次の系列コード(=「総人口に占める割合(65歳以上)」)のデータが繰り返されていました。47 x 2 = 94 でデータ数とも合致します。

regionCodeがどの都道府県に対応するのかは、統計ダッシュボード – API ページ下部 [WebAPIの詳細仕様] ブロックにある表内 No.②「統計メタ情報取得(地域)」で確認できます。

ここまできたら、データを取り込んで DB に登録する処理が開発できそうです。
次回から DB 周りを設計、といきたいところですが、DB (MySQL=MariaDB) 自体のインストールを先に進めます。
PhpMyAdmin (MariaDB の Web 管理ツール)を使いたいので Web サーバ類一式も入れていきます。