はじめに
AI/BIダッシュボードのGenie Codeは、プロンプトからダッシュボードを自動構築できるエージェント機能です。本記事では、公式チュートリアル「Genie CodeによるWhat If分析」を実際に試した手順と学びをまとめます。
このチュートリアルでは、アボカドの販売データを使い、価格弾力性(Price Elasticity)を計算して「価格をX%変動させたら売上と販売量はどうなるか?」というWhat If分析ダッシュボードをGenie Codeに構築させます。
Genie Codeとは
Genie Codeは、AI/BIダッシュボード内で利用できるAIデータエージェントです。エージェントモードを選択すると、以下のような複数ステップのワークフローを自動化できます。
- Unity Catalogから関連データの検索
- SQLデータセットの作成
- 可視化ウィジェットの生成
- フィルターやパラメータの構成
- ダッシュボードレイアウトの整理
チャットモードとの違いは、エージェントモードでは計画の立案、アセット取得、エラー自動修正まで含めた一連の流れを自律的に実行する点です。ユーザーは計画の承認や方向修正を対話的に行います。
Genie Codeはパブリックプレビュー段階の機能です。利用するにはワークスペースで「パートナーが提供するAI機能」の有効化と、Genie Codeプレビュー機能の有効化が必要です。詳細はダッシュボードの作成にGenie Codeを使用するを参照してください。
前提条件
- AI/BIダッシュボードへのアクセス権
- ワークスペースでGenie Codeが有効になっていること
- Unity Catalog権限: ターゲットスキーマに対する
CREATE TABLE、USE SCHEMA、ターゲットカタログに対するUSE CATALOG
What If分析のアプローチ
このチュートリアルでは価格弾力性(Price Elasticity of Demand)という経済学の概念を使います。
価格弾力性とは、価格の変化に対する需要の感度を数値化したものです。
- 弾力性が -1 の場合: 価格が1%上昇すると数量が1%減少する
- 弾力性の絶対値が小さい場合: 価格変動に対して需要が比較的安定している(非弾力的)
Genie Codeにデータセットから弾力性を計算させ、ユーザーが価格変動率、地域、アボカドの種類を入力すると、週ごとの売上と販売量への影響を即座に確認できるダッシュボードを構築します。
ステップ1: アボカドデータセットをUnity Catalogにアップロード
KaggleからHass Avocado Boardデータセットをダウンロードします。このデータセットには、米国各地域のアボカドの週次売上、価格、販売量が含まれています。
Databricksワークスペースで以下の手順でアップロードします。
- 新規 > データを追加またはアップロード をクリック
- テーブルの作成または変更 をクリック
- ダウンロードしたCSVファイルをアップロード
- Unity Catalogでターゲットのカタログとスキーマを選択
- 必要に応じてテーブル名を編集(デフォルトの
avocadoでOK) - テーブルを作成 をクリック
ステップ2: 新しいダッシュボードを作成
サイドバーの 新規 > ダッシュボード を選択し、ダッシュボード名(例: Avocado What If Analysis)を入力します。
ステップ3: Genie Codeを開く
ダッシュボードキャンバスの右上隅にあるGenie Codeアイコン(スパークルアイコン)をクリックしてGenie Codeパネルを開きます。右下のモード切り替えで Agent を選択してください。
ステップ4: 最初のプロンプトを送信する
以下のプロンプトをGenie Codeに入力して送信します。
Avocadoデータセットを分析してください。特定の地域とアボカドの種類について、価格を上げたり下げたりした場合にどうなるかをモデル化したいです。理想的には、価格の変動率(%)、アボカドの種類、地域を入力すると、弾力性を計算して、対応する週次売上と週次総販売量の予測変化を確認できるようにしてください。
このプロンプトのポイントは3つあります。
- データセットの明示: 「Avocadoデータセット」と指定することで、Unity Catalog内の該当テーブルを検索させる
- 入出力の明確化: 入力(価格変動率、アボカドの種類、地域)と出力(週次売上・販売量の変化)を具体的に記述
- 手法のヒント: 「弾力性を計算して」と分析手法を示唆
効果的なプロンプトのコツ
- 要件(入力と出力)を正確に指定する
- データセット名を明示してGenie Codeが検索しやすくする
- 不明な点があれば先にGenie Codeに質問する(例: 「価格変動の影響をモデル化する適切なアプローチは?」)
ステップ5: Genie Codeのエージェントループを観察する
プロンプト送信後、Genie Codeは以下のエージェントループを実行します。
- コンテキスト理解: プロンプトとダッシュボードの現在の状態を把握
- データ検索: Unity Catalogからメトリクスビューやテーブルを検索
- データモデル作成: 弾力性計算のためのパラメータ付きSQLデータセットを作成
- キャンバス構築: ウィジェット、可視化、入力コントロールを配置
このループは完全な結果に達するまで繰り返されます。途中でエージェントが計画の承認や明確化の質問をしてくるので、適宜 許可 や回答を行います。
最終的に、地域選択・種類選択・価格変動率の入力コントロールと、週ごとの販売量と総売上高への推定影響を示す可視化を含むダッシュボードが生成されます。
Genie Codeの応答は決定論的ではないため、同じプロンプトでも毎回異なる結果が生成される可能性があります。
ステップ6: フォローアッププロンプトで改良する
最初の出力を確認したら、以下のようなフォローアッププロンプトで段階的にダッシュボードを改善します。
説明テキストの追加:
ユーザーが何を入力すべきか、何を見ているかがわかるように説明テキストを追加してください。
モデル精度の表示:
R²値などのモデル精度の指標を追加してください。
地域間比較セクションの追加:
異なる地域間の弾力性、価格、販売量を比較するセクションを追加してください。
また、Genie Codeは画像のアップロードも受け付けるため、特定の可視化や外部参照のスクリーンショットをプロンプトに添付して追加のコンテキストを提供することもできます。
ダッシュボードの公開と共有
完成したダッシュボードは以下の手順で公開・共有します。
- 右上の 公開 をクリックして最新バージョンを公開
- 共有 をクリックして特定のユーザーやグループにアクセスを許可
- 必要に応じてメール送信のスケジュールを設定
公開されたダッシュボードでは、ユーザーが地域とアボカドの種類を選択し、価格変更率を入力すると、週ごとの販売量と総売上高への推定影響を即座に確認できます。
まとめ
Genie Codeのエージェントモードを使うことで、What If分析のような高度な分析ダッシュボードをプロンプトベースで構築できます。従来であればSQLでの弾力性計算、パラメータ付きクエリの作成、可視化の配置、フィルターの設定といった複数のステップを手動で行う必要がありましたが、Genie Codeはこれらを一気通貫で自動化してくれます。
特に印象的なのは、フォローアッププロンプトによる段階的な改善が可能な点です。最初のプロンプトで骨格を作り、追加のプロンプトで説明テキストやモデル精度の表示、地域間比較などを順次追加していくワークフローは、人間のアナリストとの対話に近い体験です。






