Q in QuickSight の機能はトピック無しでどこまで使えるのか色々試してみた

Q in QuickSight の機能はトピック無しでどこまで使えるのか色々試してみた

トピックがなくてもある程度の操作はできました。分析やダッシュボードなしでデータセットのみからインサイトを得たい場合はトピックが必須です。
Clock Icon2025.02.24

コーヒーが好きな emi です。

Q in QuickSight の機能を使うにはプロロールが必要です。しかし、以下のドキュメントを見ると、プロロールでなくてもいくつかの操作は可能である旨が記載されています。

https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/generative-bi-get-started.html

プロロールが存在しない状態でどこまで Q in QuickSight の機能が使えるのか、また、トピックを作成せずにどこまでの機能が使えるのかなど、色々試してみましたので結果を共有します。

最初に検証結果

  • トピックの作成はプロロール権限があれば実施できる
  • トピックがないとデータセットに対して自然言語で Q&A できない
  • 以下操作はトピックが無くてもできる
    • Build visual による分析の作成(プロロール権限があれば実施できる)
    • データストーリーの作成(プロロール権限があれば実施できる)
    • ダッシュボードに対する自然言語での Q&A
    • エグゼクティブサマリーの作成(プロロール権限があれば実施できる)
      • エグゼクティブサマリーを生成するのにトピックは必須ではないが、複数のビジュアルが含まれている必要がある

事前準備:QuickSight データセットの作成

S3 上の CSV を Athena 経由で QuickSight に連携しデータセットを作成しておきます。

enabling-q-in-quicksight_22

ダッシュボードを作成する と同じ要領で作成していきます。

ここは本ブログの本筋とはズレますので、トグルにしまっておきます。

QuickSight データセットの作成

S3 バケットに CSV ファイル「sweets_with_status2.csv」をアップロードしておきます。Q in QuickSight の機能はまだ 2025/2/24 現在東京リージョンで GA していないため、S3 バケットはバージニア北部リージョンで作成したものを使用しています。
enabling-q-in-quicksight_12

sweets_with_status2.csv
datetime,department,section,scone
2024-10-16 17:00:00.000,コンピューティング部,EC2課,20
2024-10-16 17:00:00.000,コンピューティング部,Lambda課,22
2024-10-16 17:00:00.000,コンピューティング部,Lightsail課,24
2024-10-16 17:00:00.000,ストレージ部,EFS課,29
2024-10-16 17:00:00.000,ストレージ部,FSx課,24
2024-10-16 17:00:00.000,ストレージ部,S3課,20
2024-10-16 17:00:00.000,データベース部,RDS課,28
2024-10-16 17:00:00.000,データベース部,DocumentDB課,29
2024-10-16 17:00:00.000,データベース部,DynamoDB課,24
2024-10-16 18:00:00.000,コンピューティング部,EC2課,10
2024-10-16 18:00:00.000,コンピューティング部,Lambda課,21
2024-10-16 18:00:00.000,コンピューティング部,Lightsail課,23
2024-10-16 18:00:00.000,ストレージ部,EFS課,28
2024-10-16 18:00:00.000,ストレージ部,FSx課,10
2024-10-16 18:00:00.000,ストレージ部,S3課,13
2024-10-16 18:00:00.000,データベース部,RDS課,27
2024-10-16 18:00:00.000,データベース部,DocumentDB課,28
2024-10-16 18:00:00.000,データベース部,DynamoDB課,23
2024-10-16 19:00:00.000,コンピューティング部,EC2課,2
2024-10-16 19:00:00.000,コンピューティング部,Lambda課,20
2024-10-16 19:00:00.000,コンピューティング部,Lightsail課,22
2024-10-16 19:00:00.000,ストレージ部,EFS課,27
2024-10-16 19:00:00.000,ストレージ部,FSx課,2
2024-10-16 19:00:00.000,ストレージ部,S3課,1
2024-10-16 19:00:00.000,データベース部,RDS課,26
2024-10-16 19:00:00.000,データベース部,DocumentDB課,27
2024-10-16 19:00:00.000,データベース部,DynamoDB課,20

QuickSight 側では S3 バケットへのアクセスを許可しておきます。

QuickSight コンソールを開き、画面右上のユーザーアイコンをクリックして「QuickSight を管理」から「セキュリティとアクセス許可」を開きます。「QuickSight の AWS サービスへのアクセス」という項目が一番上に出てくるので、「管理」をクリックします。

「これらのリソースへのアクセスと自動検出を許可する」で Amazon S3 をチェックし、S3 バケットを選択します。

CSV ファイルを配置した S3 バケットにはこのようにチェックし、
enabling-q-in-quicksight_13

Athena のクエリ結果を保存する S3 バケットではこのように「Athena Workgroup の書き込みアクセス許可」にもチェックします。こうすると、QuickSight から Athena 経由でデータを取得する際に走るクエリ履歴を Athena コンソールで確認できます。
enabling-q-in-quicksight_14

保存して閉じます。

次は Athena コンソールで Athena テーブルを作成します。バージニア北部リージョンの Athena コンソールを開いてください。今回ワークグループとデータベースはデフォルトのままで検証します。

以下のクエリで Athena テーブル「sweets_with_status2」を作成しておきます。今回は簡単なダッシュボードができれば良いので パーティション射影(Partition Projection) などは行っていません。

CREATE EXTERNAL TABLE IF NOT EXISTS `default`.`sweets_with_status2` (
  `datetime` timestamp,
  `department` string,
  `section` string,
  `scone` int
)
ROW FORMAT DELIMITED 
  FIELDS TERMINATED BY ',' 
STORED AS TEXTFILE
LOCATION 's3://qs-athena-test-csv-virginia-emikitani/sweets_with_status2/'
TBLPROPERTIES ('skip.header.line.count'='1')

テーブルが作成できたら画面左の「テーブル」項目に「sweets_with_status2」が出てきますので、右の三点リーダをクリックし「テーブルをプレビュー」をクリックすると、

SELECT * FROM "データベース名"."テーブル名" limit 10;

というクエリが実行されてテーブルの最初の 10 行が表示できます。
enabling-q-in-quicksight_15

無事 S3 バケット内の CSV データがクエリできています。

では QuickSight に連携してデータセットを作成します。QuickSight を開いて新しいデータセットを作成します。
Athena を選択し、データソース名を入力します。今回ワークグループはデフォルトの [primary] のまま進めます。接続を検証し、「データソースを作成」をクリックします。
enabling-q-in-quicksight_16

テーブルの選択画面に進みます。データベースはデフォルトの「default」を使用したのでそのまま、テーブルは先ほど Athena 側で作成したものが表示されているので選択して「カスタム SQL を使用」をクリックします。
enabling-q-in-quicksight_17

カスタム SQL クエリ名を指定し、クエリを入力します。今回は以下のようなクエリを入れてみました。

SELECT 
  datetime,
  department,
  section,
  scone
FROM "default"."sweets_with_status2";

「データの編集/プレビュー」をクリックして、データがどのように取得できるか確認します。
enabling-q-in-quicksight_18

以下の画面が開いたら「適用」をクリックしてクエリの実行結果を確認します。
enabling-q-in-quicksight_19

表示されました。QuickSight から Athena 経由で S3 バケット内の CSV データをクエリできています。
「保存して公開」をクリックして、データセットを保存します。
enabling-q-in-quicksight_20

トピックがないと自然言語で Q&A できない

さて、現在 QuickSight アカウントにはプロロールのユーザーがおらず、データセットのみが存在し、トピックは存在しない状態です。

Q in QuickSight が GA されているリージョンでは画面右上に Q のアイコンが表示されており、ここからデータに対して自然言語で問い合わせできます。

試しに今のデータセットを作成しただけの状態で Q アイコンをクリックし自然言語による問い合わせを行おうとしてみます。

すると、以下のように問い合わせを行うためのプロンプト入力画面は開きましたが、「ASK」ボタンが押せず、問い合わせはできませんでした。
enabling-q-in-quicksight_21

Elevate your data journey with Generative BI
Ask a question about your data
Explore more generative features
To give users access to all generative BI capabilities, upgrade or invite users to a Pro role.
(機械翻訳)
ジェネレーティブBIでデータジャーニーを向上させる
データについて質問する
ジェネレーティブ機能の詳細
すべてのジェネレーティブBI機能にアクセスするには、ユーザーをProロールにアップグレードするか、招待してください。

トピックがないと自然言語で Q&A できないことが分かりました。

トピックの作成は Author Pro、もしくは Admin Pro ロールの権限が必要です。
どのロールの権限でどの操作が可能なのかは以下のドキュメントと料金ページが参考になります。
https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/generative-bi-get-started.html
https://aws.amazon.com/jp/quicksight/pricing/

ちなみに自然言語による問い合わせ自体は Pro ユーザーでなくてもできるので、不要時には自身のロールを Pro 権限から通常権限にダウンしておくとコスト削減になるかもしれません。

Pro Role ユーザーの作成

さて、プロロールの QuickSight ユーザーを作成してみます。

「QuickSight を管理」から QuickSight ユーザーを作成していきます。以下のブログも参考にしてください。

https://dev.classmethod.jp/articles/create-and-delete-quicksight-users-groups/

通常の QuickSight ユーザー作成なので、手順はトグルにしまっておきます。

プロロールの QuickSight ユーザー作成

enabling-q-in-quicksight_1

「ユーザーを招待」をクリックし、
enabling-q-in-quicksight_2

ユーザー名を入力して「+」ボタンを押下します。ロールはプロロールを選択します。今回は「管理者プロ」を選択しました。「招待」をクリックします。
enabling-q-in-quicksight_3

招待すると、設定したメールアドレス宛に招待メールが届きます。招待を受け入れます。
enabling-q-in-quicksight_4

新規パスワードを設定し、
enabling-q-in-quicksight_5

QuickSight アカウントにログインします。
enabling-q-in-quicksight_6

設定したパスワードでログインします。
enabling-q-in-quicksight_7

バージニア北部リージョンに移動し、
enabling-q-in-quicksight_8

ウィザードは閉じます。
enabling-q-in-quicksight_9

トピックの画面に移動すると、新規トピックを作成するボタンが画面上部に表示されています。
enabling-q-in-quicksight_10

ユーザー一覧を見ると管理者プロユーザーでユーザーが作成されているのが確認できました。
enabling-q-in-quicksight_11

Build visual、データストーリー、ダッシュボードに対する自然言語での Q&A、エグゼクティブサマリーの作成はトピックが無くてもできる

現在プロロールの QuickSight ユーザーが存在し、トピックは存在しない状態です。プロロール権限があれば、トピックがなくても以下の操作ができました。

検証結果を共有します。

※「事前準備:QuickSight データセットの作成」で作成したデータセットとは別のデータセットを使ったキャプチャになっています。ご了承ください。

Build visual による分析の作成

プロロールの QuickSght ユーザーで操作します。データセットの編集画面で「公開して視覚化」をクリックし、分析の作成画面に遷移します。

画面中央上部に「Build visual」ボタンがあるのでクリックすると、画面右にプロンプトを入力する画面が出ます。以下のプロンプトを英語で入力しました。

Please display the total number of chocolates per minute for each department as a vertical stacked bar chart.(各部ごとに、分単位のチョコレートの総数を垂直積み上げ棒グラフで表してください)

すると、棒グラフが表示されました。トピックがなくてもビジュアルが作成できることが分かりました。
「ADD TO ANALYSIS」で分析画面に追加します。
enabling-q-in-quicksight_24

追加されました。
enabling-q-in-quicksight_25

画面右上の「公開」をクリックし、ダッシュボードを公開します。
enabling-q-in-quicksight_26

データストーリーの共有許可とエグゼクティブサマリー(要約)の生成許可にチェックを入れて「ダッシュボードの公開」をクリックします。まだトピックは無いので、トピックのリンクはしません。
enabling-q-in-quicksight_27

ダッシュボードの作成ができました。
enabling-q-in-quicksight_28

データストーリーの作成

ダッシュボードの右上 Build ボタンから「Data story」をクリックします。このまま進めそうな雰囲気です。

enabling-q-in-quicksight_30

プロンプトには「Information on the number of donuts per department(部署ごとのドーナツの個数に関する情報)」と入力し、使用するビジュアルにチェックして「ビルド」をクリックします。
enabling-q-in-quicksight_31

データストーリーができました。トピックがなくてもデータストーリーが作成できることが分かりました。
enabling-q-in-quicksight_32

データストーリー一覧からも確認できます。
enabling-q-in-quicksight_33

ダッシュボードに対する自然言語での Q&A

作成したダッシュボードを開いて画面上部の「Ask a question about this dashboard」をクリックします。
enabling-q-in-quicksight_35

ダッシュボードに対してプロンプトで質問できる画面が出ます。
いくつか提案されていますが、自然言語ではなく、「Chocolate」、「Datetime」など、カラム名の単語が並んでいる感じですね。
「Chocolate」をクリックしてみます。
enabling-q-in-quicksight_36

チョコレートの数が出ました。
enabling-q-in-quicksight_37

では、自然言語で問い合わせできるかやってみましょう。
「Information on the number of donuts per department(部署ごとのドーナツの個数に関する情報)」
と入力してみます。
enabling-q-in-quicksight_38

結果が返ってきました!ダッシュボードから読み取れる情報に関してはトピックがなくてもある程度自然言語で回答してくれるようです。
enabling-q-in-quicksight_39

エグゼクティブサマリーの作成

作成したダッシュボードを開き、Q アイコンもしくは右上の「BUILD」から Executive summary を作成しようとします。
enabling-q-in-quicksight_29

すると以下のように「not available」となってしまいました。
enabling-q-in-quicksight_34

Executive summary
A summary for the sheet is currently not available. Learn more
エグゼクティブ・サマリーこのシートの要約は現在作成されていません。詳細はこちら

トピックを作成して分析にリンクしても、以下のようにエグゼクティブサマリーが作成されません。
enabling-q-in-quicksight_43

複数のビジュアルを含むダッシュボードを作成すると、トピックを作成しなくてもエグゼクティブサマリーが作成できました。
enabling-q-in-quicksight_45

トピックがなくてもエグゼクティブサマリーは作成できるが、ダッシュボードに 2~3 つ以上のビジュアルが含まれている必要があるようです。

ちなみにダッシュボード中央上部の Q のバーの表記は以下のように変化します。

  • トピックをリンクしていない場合:Ask a question about this dashboard
  • トピックをリンクしている場合:Ask a question about <リンクしたトピック名>

トピックの作成

トピックなしでも、ある程度の操作が可能なことがわかりました。トピックを作成し分析にリンクしたらどう変わるかも見てみます。

enabling-q-in-quicksight_23

トピック作成方法は トピックの作成 を参考にしてください。

トピックを作成すると、自然言語でデータセットに対して問い合わせできるようになります。

トピックのリンク

作成したトピックを分析にリンクします。
分析を開き、画面上部の三点リーダをクリックします。すると

  • Manage Q&A
  • Preview dashboard experience

と二つの項目が出ました。re:Invent 2024 の前とはちょっと違っています。
「Preview dashboard experience」の方を見てみます。
enabling-q-in-quicksight_46

以下のようにプロンプトの入力画面がにょきっと生えてきました。ふむ。
enabling-q-in-quicksight_47

戻りまして、今度は「Manage Q&A」をクリックします。
enabling-q-in-quicksight_48

以下のように二つに選択肢が表示されています。

  • Use datasets for Build visual and Q&A(データセットをビジュアル作成と Q&A に使用する)
  • Use a linked topic for Build visual and Q&A(リンクされたトピックをビジュアル作成と Q&A に使用する)

デフォルトだと「Use datasets for Build visual and Q&A(データセットをビジュアル作成と Q&A に使用する)」になっているようです。だから、トピックがなくてもデータセットの情報を使ってある程度の Q in QuickSight 操作ができたっぽいです。
enabling-q-in-quicksight_49

「Allow insight summaries from Q Business in Q&A(Q&A で Q Business からのインサイト要約を許可する)」というチェック項目もあります。これは re:Invent 2024 で発表されたもの かなと思います。

特定のデータセットを選択することもできそうです。
enabling-q-in-quicksight_50

今回はトピックをリンクしたいので、「Use a linked topic for Build visual and Q&A(リンクされたトピックをビジュアル作成とQ&Aに使用する)」をチェックします。
enabling-q-in-quicksight_51

作成したトピックを選択して「APPLY CHANGES」をクリックします。
enabling-q-in-quicksight_52

分析にトピックをリンクできました。
enabling-q-in-quicksight_53

トピックのリンク後の表示

トピックをリンクすると、ダッシュボード中央上部の Q のバーをクリックしたときに候補として出てくる質問が自然言語になりました。
enabling-q-in-quicksight_54

トピックをリンクする前は「Chocolate」、「Datetime」など、カラム名の単語が並んでいる感じでしたよね。
トピックをリンクすると、シノニムの解釈や Q&A の feedback 等の情報を加味したより精度の高い生成 AI 機能が使えそうです。

おわりに

どの権限でどこまでの操作ができるかザッと把握できました。

質問やご要望については画面下部のお問い合わせ「DevelopersIO について」からご連絡ください。記事に関してお問い合わせいただけます。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.