RESAS-API（地域経済分析システム）で Power BIにオープンデータを取り込む

# RESAS

https://resas.go.jp/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/883c4b58-1d48-a657-7ee4-fa807acef10e.png)


## RESASとは

>**産業構造や人口動態、人の流れなどの官民ビッグデータを集約し、可視化するシステムです。**
>地域経済分析システム（RESAS：リーサス）は、地方創生の様々な取り組みを情報面から支援するために、経済産業省と>内閣官房（まち・ひと・しごと創生本部事務局）が提供しています。
>自治体職員の方や、地域の活性化に関心を持つ様々な分野の方によって、効果的な施策の立案・実行・検証のためなどに>広く利用されています。お役に立つご参考情報もこちらに掲載しております。

## 掲載データ
めちゃくちゃたくさんのデータを提供しています。
人工や産業ごとの売上もありますね。

https://opendata.resas-portal.go.jp/docs/api/v1/update/index.html

# Goal

各地域の人口構成を表示してみたいと思います。

# データを取得する

まずはデータの取得です。会員登録が必要になるので、サクッとすませてください。
するとマイページから `API-KEY` が取得できます。あとで使います。

## データを取得をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/0fbb9a97-e022-93f1-f994-62e47c4db842.png)

## WEBをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/9f7cbdcb-e081-c55d-6f41-0963771b3082.png)

## ここでいったんAPI仕様を確認する
https://opendata.resas-portal.go.jp/docs/api/v1/index.html

https://opendata.resas-portal.go.jp/docs/api/v1/detail/index.html

## API KEY を入力
確認した仕様をもとに入力していきます。
`API-KEY` はマイページで取得できます。

## まずは都道府県名のデータを取得してみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/c8d1f66b-d65b-12b4-5de1-9ff0a9108da3.png)

## 取得

PowerQueryの画面が開き、 `prefecture` テーブルが増えているのが確認できますね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/67252669-109f-3eb0-53c9-3677f1614183.png)

## 同じ要領で市区町村データもGETします。

:::note warn
あとの手順で使います。
:::
# 人口構成データを入手

## APIで必要なパラメーターを確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/e4b03137-5332-887c-ec40-cd257892c483.png)

都道府県コードと市区町村コードが必須項目。

## Sampleを参考に
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/41b31ea1-6f46-8463-e700-3258557b2f1b.png)

## 新しいQueryを作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/5e296fdc-5dba-f5ad-9e78-4c6912f1e83f.png)

これを読み込むと、埼玉県皆野町の人口構成がAPI経由で読み込まれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/d7d5c71a-53d3-481a-ce6c-93917ed0b8af.png)

## 都道府県コードと市区町村コードを変数にして、カスタム関数を作成

だんだんややこしくなっていきます。
いまは都道府県コードと市区町村コードを指定してAPIを読み込んでいますが、やりたいことは全国の人口構成をGETすること。すべての市区町村コードを打ち込むわけにはいかないので、いま作成したQueryに変数を使用してカスタム関数にしていきます。

Queryの詳細エディターをクリックします。するとこんな画面になると思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/b33fccd8-75de-51ab-d924-ad47d6731776.png)

これをこう書き換えます。
変数を宣言し、都道府県コードと市区町村コードの部分を変数にしています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/8b9b80bd-540c-cd3e-b986-fe206fca6cdb.png)

この画面を完了するとカスタム関数の完成です。

## カスタム関数の呼び出し

事前に用意していた、市区町村コードのテーブルに、今回の変数で使用する都道府県コードと市区町村コードが入っているので、このテーブルを複製し、カスタム関数に各行の都道府県コードと市区町村コードを使用してAPIを叩き、市区町村ごとに人口を取得します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/f711e630-f2fd-b4ed-52a6-26730775c342.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/7dd789a3-1b66-af4b-abf7-fd978ac80fbd.png)

## OKをすれば出来上がり。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/fa1929a1-5d7e-af28-aa65-1da030edf5bd.png)

都道府県、市区町村ごとに、１９８０年から５年刻みで２０４５年までの人口が入手できました。
`boundaryYear` というのが、実測と推定の区切り年だということです。２０１５年ですね。

# そしてReport作成。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/ca13ef34-3a73-cf82-edc5-8e93d446784c.png)

## ん？ 神奈川の総人口が１位？

人口って東京が多いんじゃなかったっけ。
ドメイン知識が必要ですね。

データの中身を確認します。

## どこかで重複があるはず。

APIの仕様や、集計に使用しているデータを確認します。

犯人は市区町村テーブルの、 `bigCityFlag` というやつでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/ac0af9c5-67f7-7484-2bf6-14306fed85db.png)

1. 政令指定都市の区
1. 政令指定都市の市
1. 東京都23区

つまり、神奈川では、横浜市の人口と、横浜各区の人口が重複してカウントされていることがわかります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/2d7fc45d-e80c-17cd-6cd3-8d0a8b36d42d.png)

ということで、今回はちゃちゃっとフィルターで2番のフラグを外してしまいます。
これで正しい数字になるはず。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/1115b34d-12cd-409f-c9e1-65b58f529229.png)

うん、1位東京、2位神奈川になりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/d4f34251-164e-b065-3e2b-8db36e492cba.png)

# 2021.12.20 追記

WEBなどからデータを取得してきた場合はその出典を書きましょう。
データ作成者を尊重する意味でも、レポートを見るユーザー側で考えても親切ですね。
↓のレポートが参考になります。

https://app.powerbi.com/view?r=eyJrIjoiMDA2MzM2MjEtYTRjNS00ZTUzLTg2NzMtNGQ5OGRhYTc4MjRhIiwidCI6IjgzZmQ0NjViLTczNGUtNDA1Ny1hZTM3LWU3N2FhN2QzNDcyOSJ9

@yugoes1021 さん、ありがとうございます！