AWS S3のデータをQuicksightで表示する

<h3>○なんの記事？</h3>
AWSのクラウドストレージサービス：S3のデータを抽出し、同じくAWSのBIサービス：QuickSightに表示するまでの作業を、自分で手を動かしてやってみました。
Qiita初投稿なので、指摘、コメントなどあればぜひお願いします。

<h3>○ターゲット</h3>
QuickSight/S3のアカウントを作成していて、とりあえず動かしてみたい人。



<h3>○手順概要</h3>
(1)S3へのデータの配置
(2)Data Setの作成
(3)Analysisの作成
(4)Dashboardの作成

<h3>○手順詳細</h3>
(1)S3へのデータの配置
　(1-1)S3にBucketを作成します。
　　ファイルを配置するBucketをS3に作成します。

　　Bucket名は「s3-athena-20190901」とします。※Bucket名は、グローバルで一意である必要があるので、これを見ている方は別の名前を指定してください。
　　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484388/83c495f5-1410-74b0-fe94-9c4367c07a2a.png)

　　
　(1-2)使用するデータを取得します。
　　使用するデータは、e-Statの日本の人口の国勢調査の結果がCSVでDLできるので、これを使用します。

　　取得したCSVファイルをテキスト形式で開きます。
　　区切り文字は「,」、テキストは「"」で囲われていることが分かります。
　　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484388/d480f672-668b-0158-7d11-24655aa0724d.png)

 　　
　(1-3)ファイルをS3のBucketに配置します。
　　(1-2)で取得したファイルを、S3のBucketに配置します。
　　ファイル指定でも、ドラッグアンドドロップでもOKです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484388/9a47defd-3188-f741-5f64-12549c12ebea.png)


(2)Data Setの作成
　(2-1)S3へのBucketへのアクセス設定
　　QuickSightのホームのページに移動します。
　　右上のアカウントボタンから、「Manage QuickSight」を選択します。
　　「Security & permissions」から「QuickSight access to AWS services」を選択し、QuickSightからAccess可能な他のAWSサービスを指定します。
　　「Add remove」を押すと、「Enables QuickSight to auto-discover your Amazon S3 buckets」の文言が表示されるので、その横の「Detail」を押します。
　　下記の画面が出ますので、今回追加したBucketを選択してください。これをしないと、Data Set作成時にConnectionのエラーが発生します。
　　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484388/ce7f2e16-b03f-89aa-b4bb-d0df88dc0cc4.png)

　　
　　
　(2-2)Data Setの種類の指定
　　QuickSightのホームのページに移動します。
　　左上の「New Analysis」→「New data set」を順に押下します。
　　ここで、作成するData Setのデータをどこから取得するか選択します。　
　　今回は、S3を選択します。

　　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484388/3eb6cf3a-ba56-d417-59af-6aef9c49e25b.png)

　(2-3)データソース名とManifestファイルの作成
　　S3を選択すると、下記の画面が表示され、データソース名の入力とManifestファイルを指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484388/df4d522c-6cc5-6ee5-82ba-0cef99035f3f.png)


　　データソース名は、好きな名前を付けて問題ないです。
　　Manifestファイルは、「S3のデータをどのような形で抽出するか」を定義するファイルです。
　　ファイル形式はjson形式です。
　　具体的な例は下記のとおりです。
　　
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484388/bc6ace21-4c79-7e4d-7814-3bdd83f2d9bd.png)

　主な情報は下記のとおりです。
　・URIs：配置したs3のファイルのリンクを指定します。
　・format：ファイルの拡張子を指定します。今回はCSVです。
　・delimiter：CSVファイルの区切り文字を指定します。今回は「,」です。
　・textqualifier：テキストを囲む際の記号を指定します。今回は「"」ですが、JSONファイル内でのテキスト指定でも使用しているため、エスケープ文字として「\」を指定します

　(2-4)データの登録
　　データソース名、マニフェストをそれぞれ入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484388/456c2813-adf4-2c87-4fe0-14e061b48e0e.png)

　　「Connect」を押すと、下記の画面に遷移します。
　　ここでConnectionエラーが出る場合には、(2-1)の設定ができているか確認します。
    左の「Edit/Preview data」を押すと、登録したデータを確認することができます。
　　※文字化けする場合には、文字コードをUTF-8にしてCSVを保存すれば、直るかと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484388/33b057c4-d4c9-af31-330e-ea5044f73834.png)


(3)Analysisの作成
　(3-1)Data Setの選択
　　QuickSightのホームのページに移動します。
　　左上の「New Analysis」を押下する。
　　左上に、先ほど作成した「s3datasource」が表示されますので、これを押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484388/9ffffcde-3b95-ffc1-c9c7-3b501591b951.png)

　　下記の画面の左下の「Create analysis」を選択します。
　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484388/ad3c8e4a-0b77-97a0-6fab-c278770b2684.png)


　　下記の分析画面に遷移します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484388/90734358-22e1-74de-4e2b-07e1b2785c91.png)


　(3-2)人口の推移のグラフの作成
　　全国の人口の推移のグラフを作成します。
　　グラフ「Line Chart」を選択します。
　　X軸に「西暦」、Y軸に「人口(総数)」を指定します。ドラッグアンドドロップで指定できます。
　　人口が2億5千万くらいになっています。全国合計と各都道府県の人口が合算され、2倍近くになっているためです。全国のみ指定するために、フィルタを追加します。
　　
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484388/806b8e69-84dc-55d4-b211-7d40f5c0d3fe.png)

　　左側の「Filter」を押下し、「都道府県名」を指定します。
　　「全国」をチェックして、「Apply」ボタンを押下します。
　　人口が1億2500万くらいになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484388/32096efc-8969-b367-1cc0-92ff98da6d96.png)


(4)Dashboardの作成
　　右上の「Share」から「Publish Dashboard」を押下します。
　　ダッシュボード名を指定し、Publish dashboardを指定します。
　　
　　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484388/7338c15c-e691-457f-ed41-dc80c1194a96.png)

　　下記のようなダッシュボードが作成されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484388/65fff12d-b932-96bc-f68d-cf7452eec784.png)