【レポート】Amazon QuickSight BASICハンズオン 〜QuickSightの基本操作を50分で学ぶ〜を取り組み、サクッとBIツールを触ってみませんか? #AWSSummit
データの可視化、何から始めれば良いのか難しいですよね。そんな時はBIツールの基本操作が学べる、こちらのセッションに取り組んでみてはいかがでしょうか?
今回はセッションのタイトルでもある通り、AWSから提供されているBIツール"Amazon QuickSight"の基本操作を50分という短時間で学べてしまうというハンズオンに取り組んでみました!
簡単にさくっと可視化させることができたので、皆さんもぜひ取り組んでみてください!
セッション動画はこちらからご視聴ください。
セッション概要
本セッションは、AWS の BI サービスである Amazon QuickSight の基本的な操作方法をサンプルデータを使った可視化を通しで学習します。公開されている Basic ハンズオンのパート 1 の部分をもとに、はじめて QuickSight を触る方でもわかりやすいように丁寧に解説します。
スピーカー
アマゾン ウェブ サービス ジャパン株式会社 技術統括本部 ソリューションアーキテクト 下佐粉 昭氏
今回のセッション、Amazon QuickSightについて
今回は、こちらのハンズオンのPart 1に取り組んでいく。
Amazon QuickSight(以下、QuickSight)はBIサービス。
QuickSightには無料枠があり、1ユーザーであれば、無期限、無料で使い続けることができる。
ハンズオン
今回はバージニア北部でハンズオンを進めていくが、好みによってリージョンを変更も可能。(私はバージニア北部で実施しました。)
AWSマネジメントコンソールで、QuickSightを開く。
するとこのような画面が表示されるので、"Sign up for QuickSight"を選択する。
QuickSightには、2種類のエディションが存在する。
- スタンダード
- エンタープライズ
今回はエンタープライズ版を選択していく。エンタープライズエディションであったとしても、無料枠を使用することができる。
スタンダードエディションを選択すると、最後の方に実行するMLインサイトの予測機能を使うことができない点は注意が必要。続行を選択する。
アカウント名、通知用のアドレスを登録し、完了する。(ちなみに、今回のハンズオンではメールを使用しません。)
このような画面が表示されたら、"Amazon QuickSightに移動する"を選択。
初めて使用する場合はチュートリアルが表示されるが、今回は閉じる。次にQuickSightを使用したことがある人はホームリージョンの確認をする必要がある。
SPICEの空き容量を確かめる
まず始めにQuickSightの管理ページを開く。
続いて左ペインからSPICE容量を選択し、使用したことがある人はSPICEの空き容量を確認する。
SPICEとは
SPICE は、Amazon QuickSight の「Super-fast, Parallel, In-memory Calculation Engine (超高速で並列のインメモリ計算エンジン)」です。SPICE は、高度な計算を迅速に実行してデータを処理するように設計されています。SPICE で使用可能なストレージおよび処理能力により、インポートされたデータに対して実行する分析クエリを高速化できます。SPICE を使用すると、解析を変更したりビジュアルを更新したりするたびにデータを取得する必要がないため、時間を節約できます。
QuickSightで使用する、インメモリDBである。SPICEはリージョンごとに独立している。
SPICE使用量に数MB程度の余裕があれば、今回のハンズオンをする上では問題がない。SPICEはSignUpした時のリージョンに1GBの無料枠が提供されるので、もし総容量が0バイトになっている場合は右上の人型アイコンからリージョンを切り替える必要がある。
データセットを作成する
データセットとは
可視化の対象となるデータの塊。一般的には、DBやDWHに格納されている。CSVファイルやExcelファイルを使って作ることもある。
QuickSightは複数のデータソースを結合して、1つのデータセットにすることもできる。(例: MySQLのテーブルと手持ちのExcelファイルの組み合わせ)
今回のハンズオンでは、2つのCSVファイルをアップロードし、結合させ、1つのデータセットにしていく。(今回使用する全てのCSVファイルは、講演資料としてダウンロードしたものに含まれています。)
今回のデータは、先述のQuickSightのインメモリ型のDBであるSPICEにアップロードされる。RDBではないデータにクエリをかけて、可視化をすることが可能になる。
SPICEを介さず、RedshiftやAthenaにクエリすることも可能。頻繁にアクセスされるRedshiftのデータだけはSPICEに格納し、Redshiftに対する負荷を下げるというようなコンビネーションで使っていくことも可能である。
トップページに戻り、左ペインからデータセットを表示する。右上の新しいデータセットをクリック。
この中からファイルのアップロードを選択し、ダウンロードしたファイルの中のCSVファイルQuickSight-handson-v2-public/Patient-Info.csvをアップロードする。
データのアップロードが終わるとこのようなメッセージが表示される。今回は2つのデータを結合させるため、"設定の編集とデータの準備"をクリックする。
すると、Patient-Info.csvがアップロードされ、左側にフィールドの一覧が表示されている。これはRDBの列一覧のようなものである。Patient-Info.csvの上に表示されている"データの追加"を選択し、QuickSight-handson-v2-public/Assign.csvもアップロードしていく。
これら2つのデータには、どちらもRegionというフィールドが存在する。この列を対象に結合することができる。"次へ"をクリックする。
どちらもアップロードが完了すると、赤丸が表示される。赤丸をクリックすると、統合設定が表示される。
今回は"Region"で結合するので、どちらの結合句にも"Region"を選択する。また、結合タイプに関しては、Innerのままで設定する。この状態で適用にする。
アップロードが完了すると、結合部分はInnerマークに変更される。また、左のフィールド一覧には、Assign.csvのフィールドも追加で表示されている。
今回、結合したどちらにも存在していたので、Regionが二つ表示されており、どちらも同じ値が入っている。なので、追加したRegion[Assign.csv]の方はチェックボックスのチェックを外す。
次に型の変更を行う。QuickSightはデータをサンプリングし、データの方を自動判別する。しかし、自動判別がうまくいかない場合は変更する必要がある。
今回の場合は、Patient IDがString型で設定したい。なので、Intをクリックし、Stringに設定を変更する。
ここまで行ったらあとは名前を任意のもの(今回はそのままで)に変更し、"保存して視覚化"をクリックする。
視覚化を行う
垂直積み上げグラフを作成する
視覚化の画面が表示される。次に、左側のフィールドリストの表示の形を変更する。
各フィールドにカーソルを持っていくと、右側に3つの点が表示される。それをクリックし、表示方法を数値から通貨に変更していく。今回は以下のフィールドの表示方法を変更する。
- Cost
- Discount
- Price
- Profit
- Revenue
次にグラフのビジュアルタイプを変更していく。
今回は、垂直積み上げグラフを使用する。
グラフを変更すると、上記にフィールドウェルが表示されるようになる。フィールドウェルのところにドラッグ&ドロップすることで、各項目にフィールドを設定することができる。
今回は、このように設定していく。
- X軸
- Account Rep
- 値
- Revenue
- グループ/色
- Payor Segment
ちなみに、値に関しては合計以外にも様々な選択肢がある。今回は、合計のままで進める。
また、グラフの名前も変更することができる。こちらも変更せずともハンズオンの進行には影響がない。
今回は、Payor Segmentの文字が切れてしまっていた。近くにカーソルを持っていくと表示される縦の2本線をドラッグアンドドロップすることで、表示幅を変更することができる。
ドーナツ型グラフを追加する
続いて、グラフをもう一つ表示させるので、画面上部にある"追加"から、"ビジュアルを追加"を選択する。すると、右側に新しいビジュアルが追加される。
ビジュアルが追加されたら、グラフを選択していく。今回は、ドーナツグラフを選択する。
今回は、フィールドウェルをこのように設定する。
- グループ/色
- State
- 値
- Revenue
次に、グラフの最大表示するが20個になっている(グラフ上部の"SHOWING TOP 20 IN STATE")と書かれているので、こちらを変更していく。グラフの右端に歯車が表示されているのでそちらを選択するとグラフの表示を変更することができる。
左にビジュアルのフォーマットが選択できるようになるので、今回は、グループ/色ペインを開き、表示されたスライスの数を50に設定する。そうすることで、最大表示数を増やすことができる。
ピボットテーブルを作成する
ピボットテーブルを作成し、レベニューの詳細データを表示し、コンディショナルフォーマットを追加する。それにより、売り上げが良いところは緑色、悪いところは赤色を表示させる。
今回は先述した通り、ピボットテーブルを作成する。(テーブルと間違えやすいので注意する)
また、テーブルを見やすくするため、ビジュアルを横長に表示させられるように、右下をドラッグ&ドロップで引き伸ばす。
QuickSightは、クリックすると適切であると考えられる数値に行、列、値等が挿入される。必ずしも希望しているところに入力されるわけではないので、違うところに挿入された場合は各フィールドごとに削除するか、元に戻すから一つ前の状態に戻すことができる。
今回は、フィールドウェルをこのように設定する。
- グループ/色
- Admit Date
- Payor Segment
- Hospital
- Category
- 値
- Revenue
- Profit
- Cost
フィールドウェルに追加する際、順番が変わってしまうと表示のされ方が変わってしまうため、上記の通りに設定する必要がある。
続いて、コンディショナルフォーマットを追加していき、色をつけていく。
右の三点マークから条件付き書式設定を選択する。すると画面の左側にメニューが表示される。
次に列の指定を行う。今回は、Profitを選択する。
次に、このような条件を足していく。赤字である場合は赤色に、100$以上利益が発生している場合は緑色にセルを塗りつぶすように選択する。
すると、このように表示が変更される。
フィルターをつける
ここまでできたら、作ったビジュアルにフィルター(値の絞り込み)をつけていく。
今回は、QuickSightのアクションという機能を使い、クリックしたらフィルタが適用されるように設定する。
まずは、再び最初に作った垂直積み上げグラフを選択した状態で、左側のメニューからアクションをクリックする。
次に新規アクションを設定していくために、"カスタムアクションを定義する"を選択する。
ここで、アクションについて詳しく見ていく。
アクティベーションに"メニューオプション"を選択した場合、クリックした後にメニューが表示され、アクション名を選択すると設定したように動くようになっている。
また、アクションタイプは、フィルタアクション、URLアクションの二種類がある。フィルタアクションは値の絞り込み、URLアクションはクリックした状態で別のURLに推移したりすることができる。
今回はこのように設定し、保存する。一度、値の絞り込みを試してみる。
何も選択していない状態は、このように表示されている。ここから、Susanを選択する。
すると、他のグラフもSusanのみの結果が表示されるように適応される。
MLインサイトによる異常値検出
折れ線グラフとQuickSightのMLインサイトの予測機能を使って、グラフを描画していく。
始める時、一つ前のハンズオンで値の絞り込みがされたままであれば解除しておく。
また、新しいビジュアルを追加する。今回は先ほども記載した通りに折れ線グラフを選択する。
今回は、フィールドウェルをこのように設定していく。
- X軸
- Admit Date
- 値
- Revenue
初期表示の場合は表示が細かすぎるため、少し見づらい。集計単位を変更していく。
下向き矢印から集計を選択し、月に変更する。
すると、このように変更される。さらに表示形式も変更していく。
形式からその他のフォーマットオプションを選択し、カスタムで設定していく。
今回は、YYYY/MMと設定してみる。
X軸の表記が変更された。
右にあるメニューから"予測を追加"を選択する。
予測の長さを6に設定する。今回は1メモリあたり1ヶ月なので、6ヶ月後までの予測値が追加される。
これで、アルゴリズムによる予測値が追加された。(オレンジ色の部分が、これまでの数値を元に予測された数値)
テーマを変更してみる
テーマとは、画面の見た目を指定しておいた色の設定に合わせて変更する機能です。設定者自身でカスタム可能となっている。
今回は、Midnightを設定してみる。
三点マークから適用を選択すると、テーマが変更できる。
すると、このように色の配色を変更することができる。
Clean upを行う
左上のQuickSightマークを選択し、トップページに戻る。
トップページから再びQuickSightの管理を選択する。
左ペインから"アカウント設定"を選択し、"サブスクリプション解除"をクリックします。"サブスクリプション解除"をもう一度クリックすると削除することができます。ただし、いくつかのIAMロール、ポリシーが自動で作成されているので、こちらはお好みで削除しましょう。(IAMロール、ポリシーに関しては費用がかかりません。)
これで、ハンズオンが終了。
最後に
今回取り組んだのは、Basic ハンズオンのPart 1のみである。
今回の続きとして、コントロールといったGUI、フィルタのためのパラメータを作成するPart 2、テーブル関数などのカリキュレッド(計算)フィールドを作成するPart 3など高度な使い方を解説している。
また、販売管理ダッシュボード編も提供されている。KPI表示や、管理に便利な損益管理、明細表等の作り方にフォーカスしたものになっている。
是非取り組んでみて欲しい。
感想
50分という短い時間でさくっとQuickSightの使い方が学べる、とてもコスパの良いハンズオンでした。
GUI上で操作することができるので、感覚的にデータの可視化を行うことができること、ExcelやCSVファイルも対応している点がとても良いなと感じました。皆さんもぜひ試してみてはいかがでしょうか?
以上、新卒エンジニアのたいがーでした?