Amazon QuickSightでデータセットをCSV→DB接続に切り替える

データアナリティクス事業本部の武田です。今日は、データセットをCSV→DB接続に切り替える方法を説明します。 「お試しでCSVデータから作ったダッシュボードを、このまま使うことになったから、DB接続に切り替えたい」という時に使えます。
2022.09.29

前提:CSVデータからダッシュボードを作っている

前提として、「お試しでCSVからダッシュボードを作っている」状態を想定します。

前回の記事で用意した、Tableauでお馴染みの「サンプルスーパーストア」のCSVから作ったダッシュボードを使います。

上記ダッシュボードをDB参照に切り替えるのが今回のゴールです。

DB準備:MySQLを準備してデータを流し込みます

既にDBがある場合は、この手順は不要です。

AWSのサイトの中で、非常にわかりやすいハンズオンがありましたので、その手順通りに行いました。

MySQL データベースを作成して接続する

手順は上記が詳しいのでそちらを見ていただければと思います。

DBに繋がらなかった時の話はこちら

MySQLにテーブルを作ってデータをinsert

DBに繋がったので、「サンプルスーパーストア」のCSVデータをテーブルを作って流し込みます。SQL書けば良いんですが、面倒な方はこちらをどうぞ。

sqlizer.io

上記で、CREATE文とINSERT文を自動生成してくれるので、MySQLWorkbenchから実行すると、はい、データが入りました!

Amazon QuickSightからMySQLに繋ぐ

MySQLにデータは用意できたので、Amazon QuickSightの「データセット」→「新しいデータセット」から繋げてみます。

上記でDB情報を入力して、左下の「接続を検証」というボタンをクリックして接続確認してみます。

DBに繋がらなかった時の話はこちら

接続確認OKになりましたら、右下の「データソースの作成」ボタンをクリックします。

作ったテーブル「sample_superstore」をQuickSightに取り込んでみましょう。DBから作ったデータセットは、カラム名もデータセット名も英語で作ってます。

CSVから作ったデータセットは、下記のようにカラム名もデータセット名も日本語で作ってます。

CSVのデータセットからDBのデータセットに切り替える

では、CSVのデータセットからDBのデータセットに切り替えましょう。切り替えたい分析を開きます。

(バックアップのため、作業前に別名で保存しておくと安心です。)

作業前の時点では、画面左側のデータセットは日本語の方のデータセット名になってますので、CSVのデータセットを参照しています。 このデータセット名の右上にある「鉛筆マーク」をクリックします。

今のデータセット名が表示されていますので、その右側にある「三点マーク」→「置き換え」をクリックします。

置換先のデータセット(DBのデータセット)を選んで、「選択」をクリックします。

置換されたと出てきますので、「✖️」マークで閉じます。

すると、置換データセットが不一致(カラム名が一致していないものがある)というリストがでてきます。 もし、置換前後で全ての名前が一致していたら、この画面は出ないのですが、 今回は、カラム名が日本語→英語にしたので、このような画面がでてきました。 右下の「フィールドマッピングの更新」というボタンをクリックして、マッピングへ進みます。

下記のように、どのカラムがどのカラムなのかをマッピングして入力して、画面下の「確認」ボタンをクリックします。

あら素敵、DBのデータセットに切り替わりました!切り替え完了です。

ふりかえり

さらっと書いておりますが、実は、MySQLWorkbenchが繋がらなかったり、QuickSightの接続の検証で繋がらなかったりと、本編ではないところでつまづきました。原因は、セキュリティーグループだったのですが、そちらについてはまた別記事にします。