サッと始める QuickSight の使い方

##はじめに
今回は、AWS で利用できる QuickSight ML Insights を使ってサッと可視化と予測をしたい方向けに、手順について説明していきたいと思います。

■やりたいこと
S3においてある csv データを QuickSight で可視化したり、ML Insights を利用して予測をしたい

##QuickSight とは
QuickSight について簡単に説明したいと思います。下記が QucikSight の主な特徴です。

■特徴
①S3 などに置いてある csv データの可視化が可能
②豊富なビジュアルでデータの可視化が可能（データに対して適したビジュアルを自動で選択する機能付き）
③ML Insight という機能で、誰でも簡単に予測が可能


##開始前準備
###1. QuickSight にインポートする csv データのチェック

可視化と予測をする場合、インポートする csv データは少なくとも以下の条件が必要となります。
より詳細な条件については下記の公式リンクを参照ください。
■[ML Insights を Amazon QuickSight で使用するためのデータセット要件](https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/ml-data-set-requirements.html)


例：ある商品の売上の可視化と予測をしたい場合の csv の条件
(画像は可視化予定の csv の内容の一例)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321349/dda96026-0229-ec32-1ca2-9f97f9432993.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321349/aea2f9d8-1714-048b-f49f-b8db94db8c3b.png)

- csv を UTF-8 形式に変更
- csv に最低限必要な内容
 - 年月日
 - 商品の名前とその商品の日々の売上数字

###2. S3 に csv データをアップロード
QuickSight で可視化したい csv データを、S3 にアップロードします。
csv のデータ内に日本語がある場合、アップロードする csv は UTF-8 形式にしておきましょう。
QuickSight にインポートした際に、文字化けするリスクを回避できます。


###3. QuickSight のアカウント用意
以下の手順で QuickSight のアカウントを作成します。
![2020-04-24_14h54_53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321349/8ba45efd-8758-cfda-d42d-5e2cc2b1be73.png)
①AWS のコンソール画面で、「QuickSight」と検索し、そこから QuickSight のサービス画面に移動

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321349/f42e41a4-537a-9ce5-ae54-090f8a130633.png)
②「QuickSight にサインアップ」を選択して、アカウント作成画面へ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321349/f6bdaae3-aa1e-1d68-a6a4-18284c09158e.png)
③可視化したデータの予測を実施する場合は、「エンタープライズ版」を選択
※可視化だけなら「スタンダード版」でもOK。

##開始
###1. S3 にあるデータを QuickSight にインポート
以下の手順で、S3 にある csv データをインポートすることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321349/d1d105c7-0778-9dcd-ba68-6f91979fc274.png)
①QuickSight にインポートしたい csv のパスをコピーしておきます
②QuickSight にサインイン

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321349/065595cb-1014-8112-0dcb-ffb3bc561273.png)
③QuickSiht にサインイン後、左上の「新しい分析」をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321349/b3201ad2-71a3-be03-4dd4-6e6ad1fdac0b.png)
④左上の「新しいデータセット」をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321349/0de9f428-1f8b-b2c8-2881-cb2455ae92de.png)
⑤S3 のアイコンをクリックし、下記の項目を埋める

- データソース名（QuickSight 上でこれから可視化をするデータの名前を決める）
- マニフェストファイルのアップロード(下記を JSON フォーマットで保存し、それをアップロードして利用)

```
{
    "fileLocations": [
        {
            "URIs": [
                "<先ほどコピーしたS3のパスを貼り付け>"
            ]
        }
    ],
    "globalUploadSettings": {
        "textqualifier": "\""
    }
}
```
⑥「接続」をクリックして、問題なければ無事完了。

###2. QuickSight にインポートしたデータを編集
必ず編集が必要というわけではないですが、インポートした csv の内容によっては日付がうまく反映されてないことがあるので、「データ管理」で該当のデータを確認をして編集をします。
（※上記で紹介した csv の可視化をした際は、日付形式の編集が必要となりました）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321349/dd3dae11-0f6d-792c-143d-70fe04c12065.png)
可視化したデータセットの日付が、図のように、カレンダーのアイコンがついた日付（Date）で表示されていれば大丈夫です。そうでない場合は、以下の手順で日付形式の変更を行います。
①「日付」を選択して「データタイプの変更」をクリック
②「日付形式の編集」を選択し、日付の形式を変更したら保存して完了


###3. 編集が完了したデータの可視化
インポートしたデータはいつでも可視化することができます。
可視化したいデータセット項目や日付を選択することで、日付毎のデータの可視化や項目毎のデータの可視化などができます。


###4. 可視化したデータの予測方法
可視化したデータを予測するには、以下の点に注意する必要があります。

■注意

- QuickSight のアカウントがスタンダードだと、予測はできません
- 複数の項目を一度に予測することはできません

予測手順は以下となります（売上の予測を行う場合）
①予測したい項目と、日付を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321349/829b3378-d0e0-e496-1d66-f6f953ce5fab.png)
②「予測を追加」を選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321349/aae03fd1-4457-97f9-3d1c-63814ac234df.png)
③「期間をすすめる」で、予測で見たい期間を決める（オレンジ色のグラフが予測期間）
④期間を決めたら、「適用」をクリック


##その他
###1. データの可視化ができない
自分が遭遇したミスとしては、主に下記の3つになります。

①UTF-8形式に csv が変換できてなかった
②csv の行が多すぎて、読み込んでもらえなかった（1000行を超えると駄目みたいです）
③行と列のデータを逆にすることで読み込めた

※データセットの詳しい要件は、下記の公式 AWS 参照でお願いします
■[ML Insights を Amazon QuickSight で使用するためのデータセット要件](https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/ml-data-set-requirements.html)

###2. 予測結果を excel フォーマットの様に数値で可視化
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321349/c13d43f5-631d-5c3c-6f86-e472731a93b0.png)

予測をした分析結果は、csv にしてインポートすることができます。
予測結果を csv にして、再び QuickSight で可視化することで、予測結果のみのデータを数値で可視化することができます。
（QuickSight の標準機能には、予測結果を数値で可視化は用意されていません）

##おわりに
QuickSight ML Insights の利用方法についての簡単な説明は以上となります。

①少ないデータでも、誰でも簡単に予測の実施が可能
②自動で適したビジュアルも選択される可視化機能あり（豊富なビジュアル）

手軽に簡単な可視化や予測の検証を行うにはピッタリのサービスだと思いますので、ぜひ利用してみてください。