Amazon QuickSightをゼロから触ってみた〜CSVアップロードでダッシュボードを作るまで〜

記事タイトルとURLをコピーする

こんにちは。IX2部の山科です。

Amazon QuickSight を触る機会があり、「S3 や Athena を使わなくても、CSV を直接アップロードするだけで可視化できる」ということを知り、思ったより手軽に始められたので、CSV ファイルをアップロードしてダッシュボードを作成する手順をまとめます。

Amazon Quick Sight に興味はあるけど「S3 の準備が面倒そう」と感じている方の参考になれば幸いです。

Amazon Quick Sight とは

Amazon Quick Sight は、AWS が提供するクラウド型の BI(ビジネスインテリジェンス)サービスです。

S3 や Athena、RDS などのデータソースと接続してダッシュボードを作るイメージが強いですが、実は CSV や Excel ファイルをそのままアップロードしても可視化できます。

今回はそのファイルアップロード機能を使って、ダッシュボード作成までの流れを確認しました。

今回の構成

CSVファイル → Amazon Quick Sight(データセット) → 分析 → ダッシュボード

S3 も Athena も不要です。ローカルの CSV だけで試せます。

サンプルデータを用意する

今回は架空のコーヒーショップの売上データを使用しました。

列名 内容
年月 2024-01〜2024-06
地域 関東・関西・九州
商品カテゴリ 食品・電化製品・雑貨
商品名 コーヒー豆・コーヒーメーカーなど
売上金額 数値(円)
販売数量 数値
担当者 氏名

43行のシンプルなデータです。

データセットを作成する

左サイドバーの「データセット」をクリックし、「データセットを作成」ボタンを押します。

「データセットを作成」ダイアログが開くと、右上に「ファイルのアップロード」ボタンがあります。

CSV ファイルを選択するとアップロードが始まり、確認画面が表示されます。

ファイル名と「設定の編集とデータの準備」「次へ」ボタンが表示されます。今回はそのまま「次へ」で進みました。

SPICE へのインポートについて

「次へ」を押すと「データソースの詳細」画面が表示されます。

ここで注目したいのが「SPICE へインポート」という項目です。

SPICE(Super-fast, Parallel, In-memory Calculation Engine)は、Amazon Quick Sight 独自のインメモリデータエンジンです。データを SPICE に読み込んでおくことで、グラフを描画するたびに元データへのクエリが走らず、高速な表示が可能になります。

今回のようにファイルをアップロードした場合、データは自動的に SPICE にインポートされます。

確認画面では推定テーブルサイズが「5.5 KB」と表示されており、小さいファイルであればすぐにインポートが完了しました。

「視覚化する」ボタンを押すと、分析画面に移動します。

分析を作成する

分析画面では、左側にフィールド一覧、中央にビジュアルの選択・配置エリアが表示されます。

Amazon Quick Sight には「AutoGraph」機能があり、フィールドをドラッグするだけで適切なグラフタイプを自動で選んでくれます。

今回は以下の 3 種類のビジュアルを作成しました。

月別売上推移(折れ線グラフ)

X 軸に「年月」、Y 軸に「売上金額(合計)」を設定しました。

ここで一つはまりポイントがありました。

グラフを作成した直後は、X 軸の月が時系列順にならず、売上金額の大きい順(2024-03、2024-05、2024-02…)に並んでいました。

原因は、「年月」列が 日付型ではなく文字列(ディメンション)として認識されたためです。文字列が X 軸に置かれると、Amazon Quick Sight はデフォルトで Y 軸の値(売上金額)が大きい順に並べます。

ビジュアル上でソート順を変えることで解決できます。手順は以下の通りです。

  1. Y 軸フィールド(売上金額)の メニューをクリック
  2. 「並べ替え」のサブメニューで、並べ替えフィールドを 「売上金額」→「年月」 に変更
  3. 並べ替え順を 「降順」→「昇順」 に変更

これで 2024-01 → 2024-02 → … → 2024-06 の時系列順になりました。YYYY-MM 形式の文字列は昇順ソートが時系列順と一致するため、この方法で対応できます。

地域別売上(棒グラフ)

X 軸に「地域」、Y 軸に「売上金額(合計)」を設定しました。関東・関西・九州の比較が一目で確認できます。

商品カテゴリ別売上割合(円グラフ)

グループ化の条件に「商品カテゴリ」、サイズに「売上金額(合計)」を設定しました。電化製品・食品・雑貨の割合が確認できます。

分析とダッシュボードの違い

ここで重要なポイントがあります。

Amazon Quick Sight には「分析(Analysis)」と「ダッシュボード」という 2 つの概念があります。

分析 ダッシュボード
用途 グラフを作成・編集する作業画面 読み取り専用の公開用画面
編集 できる できない
共有 できない できる

最初にここを知らないと、「グラフはできたのに、どうやって共有するの?」と詰まります。グラフを作った後は、「ダッシュボードとして公開する」という一手間が必要です。

ダッシュボードを公開する

分析画面の右上にある「公開」ボタンをクリックすると、「ダッシュボードの公開」ダイアログが表示されます。

ダッシュボード名を入力して「ダッシュボードの公開」ボタンを押すだけです。

公開時に選べるオプション

公開ダイアログには、以下のようなオプションが並んでいます。

ダッシュボードのオプション - 「アクションを有効にする」:グラフをクリックしたときにフィルタ連動などの操作ができる機能です(新機能マークあり)。

生成機能 - 「エグゼクティブサマリーを許可」:AI がダッシュボードの内容を自動で文章にまとめてくれます。 - 「データに関する質疑応答を許可」:自然言語でデータに質問できるAmazon Q in Quick Sight 機能です。

データスナップショットオプション - 「Allow sharing stories」「シナリオの共有を許可」:ストーリーやシナリオ機能と連携する設定です。

初回はデフォルトのまま公開して問題ありませんでした。

完成したダッシュボード

公開が完了すると、閲覧専用のダッシュボード画面に移動します。

月別売上・地域別売上・カテゴリ別売上の 3 つのグラフが一画面に並んだ状態になりました。

左サイドバーの「ダッシュボード」メニューからはいつでも一覧が確認でき、公開済みのダッシュボードを管理できます。

エグゼクティブサマリーを使ってみた

ダッシュボード画面の右上にある「作成」ボタンをクリックすると、ドロップダウンに「エグゼクティブサマリー」が表示されます。

エグゼクティブサマリーを使ってみた ダッシュボード画面の右上にある「作成」ボタンをクリックすると、ドロップダウンに「エグゼクティブサマリー」が表示されます。 クリックすると右パネルに AI が生成したサマリーテキストが表示されました。内容は以下の通りです。

2024年3月は1,233,000の最高売上高を達成し、他の月を大きく上回りました。 2024年6月は売上高がわずか80万1000で最低を記録した。 同社は6ヶ月間で総売上高5,952,000ドルを計上した。 売上は5月の105万5000台から6月の80万1000台へと劇的に減少し、顕著な変動を示した。

グラフから自動でポイントを読み取って文章にまとめてくれており、ひと目で数字の動きが把握できます。 ひとつはまりポイントがありました。最初はサマリー内の通貨表記が「ドル」になっていました。 原因は、売上金額フィールドの表示形式が「数値」のままになっていたことです。数値フォーマットのままだと、エグゼクティブサマリーはデフォルトでドル扱いしてしまうようです。 対処法は、分析画面でフィールドの表示フォーマットを変更することです。

  1. 「売上金額」フィールドの … メニューをクリック

  2. 「表現通貨」→「通貨」を選択

  3. 「フォーマット」で「1,234.57円」を選択

この設定をしてから再度エグゼクティブサマリーを表示すると、「5,952,000円」と正しく表記されました。CSV をアップロードした直後は金額フィールドが「数値」として認識されるため、日本円で扱いたい場合はフォーマットを「通貨>円」に変更しておく必要があります。

まとめ

  • Amazon Quick Sight は、S3 や Athena を使わなくても CSV を直接アップロードするだけでダッシュボードが作れる
  • データは自動的に SPICE にインポートされ、高速な表示が可能になる
  • 「分析」でグラフを作成し、「ダッシュボード」として公開する 2 ステップを理解しておくとスムーズ
  • 「年月」などの日付文字列は、そのままだと時系列順に並ばない場合があるため、データ型の設定に注意が必要
  • 公開時のオプションに「エグゼクティブサマリー」や「Amazon Q in Quick Sight」など AI 機能との連携があり、今後触ってみたい機能が多い

S3 の準備が不要なぶん、初日でもここまでできてしまいました。Amazon Q in Quick Sight(自然言語でデータに質問できる機能)や、S3・Athena との連携も試してみたいと思います。