Q in QuickSight の機能はトピック無しでどこまで使えるのか色々試してみた
コーヒーが好きな emi です。
Q in QuickSight の機能を使うにはプロロールが必要です。しかし、以下のドキュメントを見ると、プロロールでなくてもいくつかの操作は可能である旨が記載されています。
プロロールが存在しない状態でどこまで Q in QuickSight の機能が使えるのか、また、トピックを作成せずにどこまでの機能が使えるのかなど、色々試してみましたので結果を共有します。
最初に検証結果
- トピックの作成はプロロール権限があれば実施できる
- トピックがないとデータセットに対して自然言語で Q&A できない
- 以下操作はトピックが無くてもできる
- Build visual による分析の作成(プロロール権限があれば実施できる)
- データストーリーの作成(プロロール権限があれば実施できる)
- ダッシュボードに対する自然言語での Q&A
- エグゼクティブサマリーの作成(プロロール権限があれば実施できる)
- エグゼクティブサマリーを生成するのにトピックは必須ではないが、複数のビジュアルが含まれている必要がある
事前準備:QuickSight データセットの作成
S3 上の CSV を Athena 経由で QuickSight に連携しデータセットを作成しておきます。
ダッシュボードを作成する と同じ要領で作成していきます。
ここは本ブログの本筋とはズレますので、トグルにしまっておきます。
QuickSight データセットの作成
S3 バケットに CSV ファイル「sweets_with_status2.csv」をアップロードしておきます。Q in QuickSight の機能はまだ 2025/2/24 現在東京リージョンで GA していないため、S3 バケットはバージニア北部リージョンで作成したものを使用しています。
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 バケットにはこのようにチェックし、
Athena のクエリ結果を保存する S3 バケットではこのように「Athena Workgroup の書き込みアクセス許可」にもチェックします。こうすると、QuickSight から Athena 経由でデータを取得する際に走るクエリ履歴を Athena コンソールで確認できます。
保存して閉じます。
次は 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 行が表示できます。
無事 S3 バケット内の CSV データがクエリできています。
では QuickSight に連携してデータセットを作成します。QuickSight を開いて新しいデータセットを作成します。
Athena を選択し、データソース名を入力します。今回ワークグループはデフォルトの [primary] のまま進めます。接続を検証し、「データソースを作成」をクリックします。
テーブルの選択画面に進みます。データベースはデフォルトの「default」を使用したのでそのまま、テーブルは先ほど Athena 側で作成したものが表示されているので選択して「カスタム SQL を使用」をクリックします。
カスタム SQL クエリ名を指定し、クエリを入力します。今回は以下のようなクエリを入れてみました。
SELECT
datetime,
department,
section,
scone
FROM "default"."sweets_with_status2";
「データの編集/プレビュー」をクリックして、データがどのように取得できるか確認します。
以下の画面が開いたら「適用」をクリックしてクエリの実行結果を確認します。
表示されました。QuickSight から Athena 経由で S3 バケット内の CSV データをクエリできています。
「保存して公開」をクリックして、データセットを保存します。
トピックがないと自然言語で Q&A できない
さて、現在 QuickSight アカウントにはプロロールのユーザーがおらず、データセットのみが存在し、トピックは存在しない状態です。
Q in QuickSight が GA されているリージョンでは画面右上に Q のアイコンが表示されており、ここからデータに対して自然言語で問い合わせできます。
試しに今のデータセットを作成しただけの状態で Q アイコンをクリックし自然言語による問い合わせを行おうとしてみます。
すると、以下のように問い合わせを行うためのプロンプト入力画面は開きましたが、「ASK」ボタンが押せず、問い合わせはできませんでした。
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 ロールの権限が必要です。
どのロールの権限でどの操作が可能なのかは以下のドキュメントと料金ページが参考になります。
ちなみに自然言語による問い合わせ自体は Pro ユーザーでなくてもできるので、不要時には自身のロールを Pro 権限から通常権限にダウンしておくとコスト削減になるかもしれません。
Pro Role ユーザーの作成
さて、プロロールの QuickSight ユーザーを作成してみます。
「QuickSight を管理」から QuickSight ユーザーを作成していきます。以下のブログも参考にしてください。
通常の QuickSight ユーザー作成なので、手順はトグルにしまっておきます。
プロロールの QuickSight ユーザー作成
「ユーザーを招待」をクリックし、
ユーザー名を入力して「+」ボタンを押下します。ロールはプロロールを選択します。今回は「管理者プロ」を選択しました。「招待」をクリックします。
招待すると、設定したメールアドレス宛に招待メールが届きます。招待を受け入れます。
新規パスワードを設定し、
QuickSight アカウントにログインします。
設定したパスワードでログインします。
バージニア北部リージョンに移動し、
ウィザードは閉じます。
トピックの画面に移動すると、新規トピックを作成するボタンが画面上部に表示されています。
ユーザー一覧を見ると管理者プロユーザーでユーザーが作成されているのが確認できました。
Build visual、データストーリー、ダッシュボードに対する自然言語での Q&A、エグゼクティブサマリーの作成はトピックが無くてもできる
現在プロロールの QuickSight ユーザーが存在し、トピックは存在しない状態です。プロロール権限があれば、トピックがなくても以下の操作ができました。
- 自然言語を使用した分析の構築(Build visual)
- データストーリーの構築
- ダッシュボードに対する自然言語での Q&A
- エグゼクティブサマリーの作成
検証結果を共有します。
※「事前準備: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」で分析画面に追加します。
追加されました。
画面右上の「公開」をクリックし、ダッシュボードを公開します。
データストーリーの共有許可とエグゼクティブサマリー(要約)の生成許可にチェックを入れて「ダッシュボードの公開」をクリックします。まだトピックは無いので、トピックのリンクはしません。
ダッシュボードの作成ができました。
データストーリーの作成
ダッシュボードの右上 Build ボタンから「Data story」をクリックします。このまま進めそうな雰囲気です。
プロンプトには「Information on the number of donuts per department(部署ごとのドーナツの個数に関する情報)」と入力し、使用するビジュアルにチェックして「ビルド」をクリックします。
データストーリーができました。トピックがなくてもデータストーリーが作成できることが分かりました。
データストーリー一覧からも確認できます。
ダッシュボードに対する自然言語での Q&A
作成したダッシュボードを開いて画面上部の「Ask a question about this dashboard」をクリックします。
ダッシュボードに対してプロンプトで質問できる画面が出ます。
いくつか提案されていますが、自然言語ではなく、「Chocolate」、「Datetime」など、カラム名の単語が並んでいる感じですね。
「Chocolate」をクリックしてみます。
チョコレートの数が出ました。
では、自然言語で問い合わせできるかやってみましょう。
「Information on the number of donuts per department(部署ごとのドーナツの個数に関する情報)」
と入力してみます。
結果が返ってきました!ダッシュボードから読み取れる情報に関してはトピックがなくてもある程度自然言語で回答してくれるようです。
エグゼクティブサマリーの作成
作成したダッシュボードを開き、Q アイコンもしくは右上の「BUILD」から Executive summary を作成しようとします。
すると以下のように「not available」となってしまいました。
Executive summary
A summary for the sheet is currently not available. Learn more
エグゼクティブ・サマリーこのシートの要約は現在作成されていません。詳細はこちら
トピックを作成して分析にリンクしても、以下のようにエグゼクティブサマリーが作成されません。
複数のビジュアルを含むダッシュボードを作成すると、トピックを作成しなくてもエグゼクティブサマリーが作成できました。
トピックがなくてもエグゼクティブサマリーは作成できるが、ダッシュボードに 2~3 つ以上のビジュアルが含まれている必要があるようです。
ちなみにダッシュボード中央上部の Q のバーの表記は以下のように変化します。
- トピックをリンクしていない場合:
Ask a question about this dashboard
- トピックをリンクしている場合:
Ask a question about <リンクしたトピック名>
トピックの作成
トピックなしでも、ある程度の操作が可能なことがわかりました。トピックを作成し分析にリンクしたらどう変わるかも見てみます。
トピック作成方法は トピックの作成 を参考にしてください。
トピックを作成すると、自然言語でデータセットに対して問い合わせできるようになります。
トピックのリンク
作成したトピックを分析にリンクします。
分析を開き、画面上部の三点リーダをクリックします。すると
- Manage Q&A
- Preview dashboard experience
と二つの項目が出ました。re:Invent 2024 の前とはちょっと違っています。
「Preview dashboard experience」の方を見てみます。
以下のようにプロンプトの入力画面がにょきっと生えてきました。ふむ。
戻りまして、今度は「Manage Q&A」をクリックします。
以下のように二つに選択肢が表示されています。
- 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 操作ができたっぽいです。
「Allow insight summaries from Q Business in Q&A(Q&A で Q Business からのインサイト要約を許可する)」というチェック項目もあります。これは re:Invent 2024 で発表されたもの かなと思います。
特定のデータセットを選択することもできそうです。
今回はトピックをリンクしたいので、「Use a linked topic for Build visual and Q&A(リンクされたトピックをビジュアル作成とQ&Aに使用する)」をチェックします。
作成したトピックを選択して「APPLY CHANGES」をクリックします。
分析にトピックをリンクできました。
トピックのリンク後の表示
トピックをリンクすると、ダッシュボード中央上部の Q のバーをクリックしたときに候補として出てくる質問が自然言語になりました。
トピックをリンクする前は「Chocolate」、「Datetime」など、カラム名の単語が並んでいる感じでしたよね。
トピックをリンクすると、シノニムの解釈や Q&A の feedback 等の情報を加味したより精度の高い生成 AI 機能が使えそうです。
おわりに
どの権限でどこまでの操作ができるかザッと把握できました。
質問やご要望については画面下部のお問い合わせ「DevelopersIO について」からご連絡ください。記事に関してお問い合わせいただけます。