rex0220 リーサスプラグイン

kintone アプリに RESAS API のデータを取得するプラグインです。

# 概要

RESAS API の呼び出し用のパラメータを指定して、応答内容を csv 形式に変換します。
人口構成などのAPIは、都道府県別の指定が必要ですが、プラグインの指定でまとめて全国のデータを取得できます。
JSON の階層構造だと、kintone で扱いにくいので、項目名をつけて csv 形式に変換します。
csv ファイルから kintone アプリを作成して、データをグラフ化できます。
csv なので、kintone にこだわらなくても Excel でグラフ化してもいいですね。
※[地域経済分析システム（RESAS：リーサス）](https://opendata.resas-portal.go.jp/docs/api/v1/index.html)

![resasプラグイン1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/570a890a-6a17-bee6-fd28-21dbf958bed1.png)


## 編集画面

RESAS API で、データ取得と csv データのダウンロードができます。
都道府県を指定する API では、チェックボックスで都道府県を選択してまとめてデータを取得できます。

![2023-12-27_23h52_39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/26bc4c61-8216-c1b1-1d60-2e064dba166a.png)

## 詳細画面

csv データのダウンロードができます。

![2023-12-28_00h10_30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/7415874e-fcd8-a4e2-8f4d-5728e2982d33.png)

## 一覧画面

![2023-12-27_23h56_14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/59bb4147-465d-851f-75a4-b52fd73dd2d5.png)

## 人口ピラミッドデータから作成したアプリ例

![2023-12-28_01h14_13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/d38c4e05-1a9b-7197-4366-9509788d836e.png)

# 操作例

![2023-12-28_01h22_19.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/55a4ea6a-7f9a-b57d-f7a3-f947062245fb.gif)


# RESAS API の JSON を csv に変換

JSON の階層構造だと、kintone で扱いにくいので、csv 形式に変換し、さらにヘッダ部を漢字で意味が分かりやすくします。

![2023-12-28_00h02_47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/ad11c662-d8a4-1208-1562-ae8a8dcdcbee.png)

# RESAS API アプリの作成

RESAS API アプリのテンプレートファイルから、アプリを作成します。
RESAS 用のスペースを作成して管理するとわかりやすいと思います。

# リーサスプラグイン設定画面

RESAS API KEY を設定します。
RESAS APIキーは、[RESAS に利用登録](https://opendata.resas-portal.go.jp/form.html)していただくことで、発行されます。

![2023-12-27_23h58_20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/fadbd40a-ea32-86a6-6f63-5b9607a2ff74.png)

# RESAS API アプリにレコードを追加

レコードを追加して、API アクセス用の設定を行います。

# 都道府県一覧の例

- [都道府県一覧](https://opendata.resas-portal.go.jp/docs/api/v1/prefectures.html)のページでアクセス先とパラメータを確認します。
- タイトルは、ダウンロード時のファイル名になります。
- URL は、GET のパスをそのまま指定します。
    - api/v1/prefectures
- リクエスト欄は、パラメータが無ければ未入力のまま。
- ヘッダ変換をチェックすると、ヘッダ部の項目名を日本語に変換します。
    - 基本的な項目名をプラグインで自動変換します。
    - プラグインで項目名の変換対象外のものは、ヘッダ変換データで変換できます。
- データ取得ボタンをクリックすると、都道府県一覧のデータを応答欄に取得します。
- ダウンロードボタンをクリックすると、csv ファイルをダウンロードします。

![2023-12-28_01h39_33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/9fa99073-4db6-6c8d-4c33-fa6e21bed994.png)

# 人口構成の例

- [人口構成](https://opendata.resas-portal.go.jp/docs/api/v1/population/composition/perYear.html)のページでアクセス先とパラメータを確認します。
- タイトルは、ダウンロード時のファイル名になります。
- URL は、GET のパスをそのまま指定します。
    - api/v1/population/composition/perYear
- リクエスト欄は、都道府県コード（prefCode）と市区町村コード（cityCode）を& で区切って指定
    - prefCode=$1&cityCode=-
        - prefCode=$1：都道府県コード
            - $1 を指定すると都道府県のチェックボックスの選択肢でループ処理します。
        - cityCode=-
            - 「すべての市区町村」を選択する場合は「-」
- ヘッダ変換をチェックすると、ヘッダ部の項目名を日本語に変換します。
- 付加情報
    - リクエストに、prefCode 指定する場合に、選択した都道府県コード、都道府県等を付加します。
    - 地方区分コードと地方区分：都道府県を 1～8 区分で分け、集計時のキーとして指定できます。
        - 1:'北海道', 2:'東北', 3:'関東', 4:'中部', 5:'近畿', 6:'中国', 7:'四国', 8:'九州沖縄' 
- データ取得ボタンをクリックすると、都道府県一覧のデータを応答欄に取得します。
- ダウンロードボタンをクリックすると、csv ファイルをダウンロードします。

![2023-12-28_09h37_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/a2c29f88-0a08-725b-d1fa-f1b490ed1661.png)

## csv からアプリを作成

- 文字コードにUTF-8 (Unicode) を指定します。

![2023-12-28_10h00_07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/c5ba7b13-7b70-9271-d734-80b19ed5aecf.png)

- 項目のフィールドタイプは、都道府県等が選択しやすいようにドロップダウンを指定

![2023-12-28_10h01_57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/b072cb2a-d580-cb8d-bc40-78e4a7422fc3.png)

- アプリ作成後に、項目設定を変更
    - 数値を桁区切りにし、フィールドコードを項目名に合わせるなど、適時行います

![2023-12-28_10h07_14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/ffa43a7a-39f2-2c41-cca6-bf06b1faaf7b.png)

## グラフの作成
- 都道府県別人口推移グラフ　データ件数が多いので、年で絞り込みしています。
![2023-12-28_10h45_42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/5bfbae11-428e-fe2b-bbba-50f5645c81fe.png)

- 地方区分別人口推移グラフ
![2023-12-28_10h46_40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/a26497ed-cd3f-0efc-834a-caa16b0bb3ac.png)

# 人口ピラミッドの例

人口ピラミッドのAPIは、リクエストで応答内容に、左と右に同じような配列を返します。

- [人口ピラミッド](https://opendata.resas-portal.go.jp/docs/api/v1/population/composition/pyramid.html)のページでアクセス先とパラメータを確認します。
- タイトルは、ダウンロード時のファイル名になります。
- URL は、GET のパスをそのまま指定します。
    - api/v1/population/composition/pyramid
- リクエスト欄は、都道府県コード（prefCode）と市区町村コード（cityCode）、年度1(yearLeft)、年度2(yearRight)を& で区切って指定
    - prefCode=$1&cityCode=-&yearLeft=2015&yearRight=2020
        - prefCode=$1：都道府県コード
            - $1 を指定すると都道府県のチェックボックスの選択肢でループ処理します。
        - cityCode=-
            - 「すべての市区町村」を選択する場合は「-」
        - yearLeft=2015：年度1
        - yearRight=2020：年度2
- データ区分：　取得するデータを指定します。
    - yearLeft,yearRight
    - データ区分を指定しないで「データ取得」ボタンをクリックすると、応答には内容がセットされませんが、オブジェクト欄に指定できるデータ区分"yearLeft,yearRight" が表示されます。
    - データ区分に取得するデータを指定すると、応答には内容がセットされます。
    - API によっては、まったく異なる構造のデータがありますので、適時指定してください。
- ヘッダ変換をチェックすると、ヘッダ部の項目名を日本語に変換します。
    - 「ヘッダ変換設定」ボタンをクリックすると、英語ラベルの部分がヘッダ変換データにセットされますので、項目ごとに日本語のラベルを割り当ててください。
- 付加情報
    - リクエストに、prefCode 指定する場合に、選択した都道府県コード、都道府県等を付加します。
    - 地方区分コードと地方区分：都道府県を 1～8 区分で分け、集計時のキーとして指定できます。
        - 1:'北海道', 2:'東北', 3:'関東', 4:'中部', 5:'近畿', 6:'中国', 7:'四国', 8:'九州沖縄' 
- データ取得ボタンをクリックすると、都道府県一覧のデータを応答欄に取得します。
- ダウンロードボタンをクリックすると、csv ファイルをダウンロードします。

![2023-12-28_18h02_08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/5702b944-baf9-3aac-cedf-25d5422804dd.png)

## 人口ピラミッドのAPI 応答内容

yearLeft と yearRight が応答されます。

![2023-12-28_18h13_59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/c1d65f5f-b0d2-3528-7490-9daefa2d712d.png)

## 人口ピラミッドの csv 変換結果

yearLeft と yearRight を合わせて、csv 変換します。

![2023-12-28_18h16_17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/100d6b60-da6f-9c20-94bd-769fd84a1d0c.png)

## csv からアプリを作成

- 文字コードにUTF-8 (Unicode) を指定します。
- アプリ作成後に、項目設定を変更
    - 数値を桁区切りにし、フィールドコードを項目名に合わせるなど、適時行います

## グラフの作成

yearLeft(2015) と yearRight(2020) のデータがありますので、2020 年のデータでグラフを作成します。 

![2023-12-28_18h27_12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/281693bb-647a-f15c-8a99-555cde796da3.png)

# 就職者数・進学者数の推移の例

就職者数・進学者数の推移は、パラメータの数が多く、組合せのパターンが多い特徴があります。
オプション（$2）のカンマ区切りまたはスペース区切りで、\\$2 をループ処理します。 、

- [就職者数・進学者数の推移](https://opendata.resas-portal.go.jp/docs/api/v1/employEducation/localjobAcademic/toTransition.html)
のページでアクセス先とパラメータを確認します。
- タイトルは、ダウンロード時のファイル名になります。
- URL は、GET のパスをそのまま指定します。
    - api/v1/employEducation/localjobAcademic/toTransition
- リクエスト欄は、都道府県コード（prefecture_cd）等を& で区切って指定
    - prefecture_cd=\\$1&displayMethod=0&matter=\\$2&classification=1&displayType=10&gender=0
        - prefCode=$1：都道府県コード
            - $1 を指定すると都道府県のチェックボックスの選択肢でループ処理します。
        - displayMethod=0：表示方法 0:実数, 1:就職率・進学率
        - matter=\\$2：表示内容：オプション（$2）で、値を指定するとループ処理します。
            - 0:地元就職, 1:流出, 2:流入, 3:純流入
        - classification： 表示分類 1:進学、2:就職
        - displayType：表示区分 10:すべての進学, 11:大学進学, 12:短期大学進学,  20:就職
        - gender：性別 0:総数, 1:男性, 2:女性
- オプション（$2）
    - 0,1,2,3
- 応答内容
    - label: 対象の県名
    - prefCode: 対象の県名コード
    - matter: 年度
    - value: 1 年度分の推移

![2023-12-28_23h41_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/d149042d-2b4b-7301-3085-60e0d05f8ba2.png)

## 就職者数・進学者数の推移グラフ

0:地元就職, 1:流出, 2:流入, 3:純流入

- 全国
![2023-12-29_00h04_29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/549e449e-99e1-5665-70b1-21f234cbcd73.png)

- 大阪
![2023-12-29_00h07_19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/b26aa1aa-0c56-5de2-c5ec-2c58537850b8.png)

- 秋田
![2023-12-29_00h11_24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/b0504a02-dea5-806b-6b9a-e6517ae7b2ac.png)