訪日外客数データで Power BI レポート作成（データ可視化 基本編）

# はじめに
日本政府観光局の訪日外客数データを使って Power BI Desktop でレポートを作成していく方法を「データクレンジング 編」と「データ可視化 基本編」「データ可視化 中級編」の３つに分けて記事を書きます
本記事は、「データ可視化 基本編」です

データ可視化の基本操作を説明しながら、実際にレポート作成していき、可視化したグラフ結果からインサイトを得ていくという実践的な流れになっています
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/f7a476b6-3c9b-947d-3b88-2bb7263b9adb.png)

本記事の「データクレンジング編」前半と「データ可視化 基本編」前半のハンズオン実施動画 ( @dahatake さん) が YouTube に公開されましたので、こちらの動画を見ながら進めるとわかりやすいと思います

https://www.youtube.com/watch?v=WMkE1esqxZ4

# データ可視化の心得
ご参考までに、クライアント企業のデータ分析をすることが多い筆者が、基礎集計（データ理解）のためにデータ可視化するときに心掛けていることを 3 ポイントです

:::note
データ可視化の心得
✔ まずは先入観を持たずにそのデータや業務を理解する気持ちで、
　データ期間、種類、ボリューム、トレンド等、大枠からデータを捉えていく
✔ 可視化したら、なんとなく眺めるのではなく「このグラフ結果から何が読み取れるか？」具体的に考察を書き出して整理する
✔ データの全貌が理解できてきたら、分析目的となる数値にフォーカスして、考察した仮説を確認していくように様々な切り口で可視化⇒仮説⇒可視化を繰り返し掘り下げていく
:::

## 訪日外客数データについて
訪日外客数データは、日本政府観光局が公開しているオープンデータで、以下サイトから取得できます

https://www.jnto.go.jp/statistics/data/visitors-statistics/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/938eb1ae-8e49-08e0-abb9-f6cd0da92001.png)

本記事では、前段の「データクレンジング 編」でデータクレンジングが完了している前提で、Power BI Desktop でのデータ可視化にフォーカスして説明します

https://qiita.com/mimocihz/items/e7a4742c099691caa33b

本記事のデータ可視化部分だけ体験したいという場合は、下記のGitHubからコンテンツをローカルPC にダウンロードし、Zip展開して、「データクレンジング 編」の完成見本の「F-data_report_sample_1.pbix」をご利用下さい


https://github.com/mimocihz/powerbi_sample_report


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/48ec045d-c392-8c09-80e8-85a497b0ee01.png)

## Power BI Desktop でファイルを開く
前記事で作成したpbixファイルまたは、GitHubでダウンロードしてきたpbixファイルを開き、[訪日外客数] データを確認する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/bbd52f00-b102-1a7c-00f4-dc51f360852b.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/88449a93-3908-7790-bacf-2184957d12c9.png)

Power BI レポート作成の基本操作については、下記ドキュメントを確認下さい

https://docs.microsoft.com/ja-jp/power-bi/create-reports/desktop-report-view


## 訪日外客数の時系列推移を可視化してみる
時系列推移を見たい場合は、時間軸をX軸に、対象数値をY軸にセットし、
折れ線グラフ、面グラフ、データフォール図 等のビジュアル（グラフ）で可視化するとよいでしょう

① 視覚化ペインから「折れ線グラフ」を選択
② フィールドの [訪日外客数] から ビジュアルの X 軸：[年月]、Y 軸：[人数]をドラック＆ドロップ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/23f5797b-9ccb-1e92-2cdb-294300df0bf7.png)
③ [年月] が日付の階層が選択されているので、[年月] を選択すると細かい折れ線波形になる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/82f53a42-9a57-35fb-6ac6-1b278e88f85c.png)

:::note warn
小技：キャンバスを大きくする
同じ大きさのグラフを下にも配置したいがキャンバスが狭い
そんな時は、キャンバスの白い部分にフォーカスを移して、視覚化 > ページの書式設定 > キャンバスの設定 で、型：カスタム、高さ：900 (各自PCでちょうどよい高さに調整）に設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/ab2e2a88-19f7-6ed5-56c7-bb26c2617d62.png)
:::

④ 「折れ線グラフ」ビジュアルをコピペして違うビジュアルのグラフを作る
・「折れ線グラフ」ビジュアルにフォーカスして [Ctrl + C]（コピー）し、キャンバスの下部分にフォーカスを当てて [Ctrl + V]（貼り付け）
・ビジュアルが重なるので、ビジュアルの右上の[・・・]をつかんで移動する
・下のビジュアルにフォーカスして、視覚化 > 「積み上げ面グラフ」を選択
・凡例：[国名] をセット
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/5e21020a-2e68-803b-5b66-907135542bf8.png)

:::note
可視化からの考察
✔ 訪日外客数は 2013 年までは 60万人/ 月 前後で横這いだったが、2014年あたりから年々急増
✔ 2020年1月以降、COVID-19 のパンデミックによる 訪日外客数の急落＆低迷が続く
✔ パンデミック以前はどの国の訪日外客数が多い？増加していたんだろうか？　⇒ 構成比の可視化へ
✔ 仮説：パンデミック以前の平常時の訪日外客数急増の影響として、為替は関係するだろうか？ 
　⇒各国の為替レート推移と重ねてみると何かインサイトが得られるかもしれない
:::

## 各国の訪日外客数の構成比を可視化してみる
構成比を見たい場合は、全体に対する占める割合を面積の大小で表現するような
ツリーマップ、円グラフ、ドーナツグラフ、100％積み上げ棒グラフ 等のビジュアル（グラフ）で可視化するとよいでしょう

① 下の[＋] タブをクリックし新しいページを作成
② 視覚化 >「ツリーマップ」を選択
③ フィールドの [訪日外客数] から ビジュアルの カテゴリ：[国名]、値：[人数]をドラック＆ドロップ
④ 「ツリーマップ」ビジュアルをコピペして隣に張り付け、ビジュアルを「ドーナツグラフ」に変更
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/9b43262d-6c13-475e-3872-a8f2efae3e82.png)

これだと全期間の訪日外客数の構成比なので、年毎の構成比を確認してみたいですね
そんなときは、リボングラフが向いています
リボングラフは、構成比の高い順に凡例が並び、時系列で追えるので、シェア構成比と順位争いがわかりやすいです

⑤ 視覚化 >「リボングラフ」を選択
⑥ フィールドの [訪日外客数] から ビジュアルの X 軸：[年月] 値：[人数] 凡例：[国名]、をドラック＆ドロップ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/be67866a-1a01-ec94-77bb-495b71512529.png)

:::note
可視化からの考察
✔ 全期間の訪日外客数累計の構成比は、1位：韓国 2位：中国 3位：台湾 4位：米国 5位：香港、上位5ヵ国で全体の 75％ を占める
✔ 2013 年までは韓国が首位だった、2014 年以降は中国、台湾が急増し、2015 年以降は中国が首位
✔ 仮説：各国人口は異なるので訪日外客数を人口比で確認すると、各国の親日度や日本観光認知度がわかるのではないか？
　⇒各国人口データと紐づけて可視化してみたい
:::

## 期間や地域・国のフィルターして可視化してみる
レポートページの上部にスライサーを配置し、レポート利用者が任意で期間や地域・国でフィルターできると使いやすいです

### [国マスタ]データの取り込みとリレーション追加
[国マスタ] は、最初に GitHub からダウンロード＆Zip展開した dataフォルダの中にある「country_master.csv」を任意のフォルダに格納して利用下さい
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/2e516b69-4380-72a7-b2b8-062d4fa51b61.png)

① データを取得 > テキスト/CSV > ダウンロードした「country_master.csv」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/f6282a5e-0736-9aee-be4a-893ba2629eae.png)
② [データの変換] ボタンを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/7a498de9-ec96-f4a4-b56f-cbe3e5f0c82b.png)
③ 1行目をヘッダーとして使用を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/90f87559-0a0e-378a-d3d9-a29e5a00b4a8.png)
④ プロパティで [国マスタ] に名前変更し、[閉じて適用] を選択
⑤ Power BI Desktop 画面のモデルビューを開き、既存の [訪日外客数] と[国名]でリレーションが張られていることを確認
（※自動でリレーションが張られるはずだが、もしなければリレーション設定をする）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/b34e5de5-64cc-9ee6-ed55-53c32feb1cb3.png)

### [年月][地域][国名] の３つのスライサー追加
① レポートビューに戻り、視覚化 >「スライサー」を選択
② フィールドの [国マスタ] から ビジュアルの フィールド：[地域] をドラック＆ドロップ
③ 「スライサー」ビジュアルの位置、サイズを整え、右上の下矢印をクリックし「ドロップダウン」に変更
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/7da1a8ba-d31d-739d-ce57-7501e0a2ca4c.png)
④ [地域] スライサーをコピペして隣に配置、フィールドを「国名」に変更
⑤ [地域] スライサーで、「近隣アジア」を選択すると、他のビジュアルも連動してフィルターがかかることを確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/93abed9a-cc8b-52e1-302b-77fd987709cb.png)
⑥ 「ツリーマップ」ビジュアルを選択し、凡例を[地域]に変更、ビジュアルを「ドーナツフラグ」に変更
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/ff30c94c-5af7-1d0b-0c00-39f43f61fc44.png)

:::note
可視化からの考察
✔ 訪日外客数累計の地域別に構成比は、1位は近隣アジア(韓国、中国、香港、台湾、マカオ)で全体の70%を占めている
✔ 続いて2位が東南アジア(11%)、3位が北アメリカ(8.4%)、4位がヨーロッパ(7.5%)
:::

⑦ 同様に[年月] スライサーも作り、[年月][地域][国名] の３つのスライサーを選択してコピー [Ctrl+C] し、 最初に作成した時系列のページを上部分に張り付け [Ctrl+V] する
ここでは、ビジュアルを同期させる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/a0def661-21ff-8236-2236-a443d0df1195.png)
⑧ [地域][国名]スライサーで色々フィルターして、各国の訪日外客数の時系列波形を見てみる

各国スパイク時期が異なることに気づきましたか？

⑨ 下のグラフのビジュアルを「積み上げ縦棒グラフ」に変更し、X軸の年月を「日付の階層」にして「月」以外は削除する
ビジュアルの[・・・]をクリックして、「軸の並び替え」 > [人数] 「降順で並べ替え」 を選択
これでどの月が一番多いかわかりやすくなる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/c8d88418-9b6f-3ba8-c223-9606ea66d447.png)
⑩ [年月]スライサーの終了日を "2021/12/31" にする（2022年は全月揃っていないため公平にするために除外）

中国の訪日外客数推移と月ランキング
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/94474e11-407a-6b49-a3fa-6114de9347b7.png)
タイの訪日外客数推移と月ランキング
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/7fa9be69-e24e-a6f5-d92d-333730c44f32.png)

:::note
可視化からの考察
✔ スライサーで国名を絞って訪日外客数の時系列波形を確認していると、国によって訪日している季節に特徴があることに気づく
　・中国は、7,8月の夏休み時期？がピーク、5,11,12月が最も少ない、春節の2月は意外と少ない
　・韓国は1,2月が最も多い、台湾は6,7月が最も多い
　・タイ、フィリピン、ベトナムは4月が最も多い、シンガポール、マレーシアは12月が最も多い
　⇒仮説：タイ、フィリピン、ベトナムでは流行ドラマの影響で桜の季節に訪日したい人が多いと聞いたことがある
　訪日マーケティングにドラマロケ地支援が使えるのでは？（←気持ちは地方自治体の訪日マーケ担当^^;）
:::

## 表形式で可視化してみる
グラフもわかりやすいですが、Excel に慣れている人にとっては、なんだかんだ表形式がわかりやすかったりします
特に軸が増えてきたりするとシンプルに テーブル、マトリックス等のビジュアルを使い、
Excelのように条件付き書式でセルの色濃淡で数字の大小を表現してあげるとわかりやすいでしょう

地域・国毎に月別の訪日外客数の割合を表現するマトリックスを作成してみたいと思います

① 先ほどまでいじっていた[時系列]ページを右クリック > 「ページの複製」を選択
② 上部分のスライサー3兄弟だけ残して、下のビジュアルは削除
③ 視覚化 > 「マトリックス」を選択し、
行：[国マスタ] の [地域] [国名]、列：[訪日外客数] の [月]、値：[訪日外客数] の [人数]をセット
値の下矢印で、値の表示方法 > 行集計に対する比率 を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/32d10ff2-02f0-266b-408a-7d7311a856a0.png)
⑤ 「マトリックス」ビジュアルを選択して、視覚化 > ビジュアルの書式設定 > セル要素 > 背景色をチェックオン
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482258/24f73131-940a-55d3-2343-6495dfb07b28.png)

:::note
可視化からの考察
✔ 全体でみると1月と7月が多い、続いて4月と10月が多い
　⇒仮説：訪日の理由としてビジネスと観光とあると思うので、観光なら長期休暇が取得しやすい月？仕事なら年度初月？が多いということか？
✔ 同じ地域でも国によって訪日月の割合は特徴が分かれることがわかった
:::

このようにデータ可視化してみると、元のExcelシートを眺めていても気づけなかったであろう色々なことがわかりますね

次は、各国人口データや各国通貨の為替レートヒストリカルデータと紐づけて更に仮説を可視化して確認していく中級編です

# Power BI Desktop で 「データ可視化 中級編」【改訂版】へ
中級編以降のコンテンツ充実の声もあり、この度「データ可視化 中級編」を大幅に見直してリニューアルしました✨
是非ご活用下さい！

https://qiita.com/mimocihz/items/93c1ae158385851b0186