この実習では、Databricks Genieを使って自然言語でデータ分析を行う方法を学びます。SQLを書かずに「日本の店舗の売上は?」といった質問を投げかけるだけで、Genieが適切なクエリを生成・実行し、結果を返してくれます。グローバル展開するクッキーチェーン「Bakehouse」の売上データを題材に、基本的な集計から店舗パフォーマンス分析、さらにはリサーチエージェントを活用した深掘り分析まで、段階的にGenieの活用方法を体験していきます。
前提条件
この実習は、Databricks Free Editionにデフォルトで用意されているGenieスペース 「Bakehouse Sales Starter Space」 を使用します。
Genieスペースがない場合
「Bakehouse Sales Starter Space」が存在しない場合は、以下の手順で新規作成してください:
- Genieの画面で「新規」をクリック
- スペース名を入力(例: Bakehouse Sales Analysis)
- 以下の
samples.bakehouseスキーマのテーブルをすべて登録:samples.bakehouse.sales_transactionssamples.bakehouse.sales_customerssamples.bakehouse.sales_franchisessamples.bakehouse.sales_supplierssamples.bakehouse.media_customer_reviewssamples.bakehouse.media_gold_reviews_chunked
- スペースを保存
Genieの2つのモードについて
Genieには2つの動作モードがあります:
| モード | 説明 | 利用可能エディション |
|---|---|---|
| 通常チャット | 1つの質問に対して1つのSQLを生成・実行 | Free Edition / 有償版 |
| リサーチエージェント | 複数のSQLを自律的に実行し、深い分析を実施 | 有償版のみ |
実習1〜7は通常チャットモードで実施します。 実習8はリサーチエージェント向けの内容で、有償版をお使いの方のみ実施可能です。
データセット概要
グローバル展開するクッキーベーカリーチェーン「Bakehouse」のデータを使用します。
| テーブル | 説明 | 件数 |
|---|---|---|
| sales_transactions | 売上トランザクション | 3,333件 |
| sales_customers | 顧客マスタ | 300件 |
| sales_franchises | フランチャイズ店舗マスタ | 48件 |
| sales_suppliers | サプライヤーマスタ | 27件 |
| media_customer_reviews | 顧客レビュー | 204件 |
| media_gold_reviews_chunked | レビュー(チャンク化済) | 196件 |
商品ラインナップ: Outback Oatmeal, Austin Almond Biscotti, Orchard Oasis, Golden Gate Ginger, Tokyo Tidbits, Pearly Pies
展開国: Japan(20店舗), US(16店舗), Australia(6店舗), Canada, Netherlands, France, Germany, Italy, Sweden
実習0: Genieスペースの設定 (事前準備)
Genieを効果的に活用するには、適切なインストラクション(指示)の設定が重要です。この実習では、日本語での問い合わせに対応できるようGenieスペースを設定します。
0-1: 指示の設定手順
- Genieスペース右上の 「設定する」 をクリック
- 「指示」 タブを選択
- 「テキスト」 欄に以下を入力して保存
## 言語設定
- ユーザーからの質問には日本語で回答してください
- SQLのコメントも日本語で記述してください
## 国名の対応
ユーザーが以下の日本語で国名を指定した場合、対応する英語値(countryカラムの値)で検索してください:
- 日本 → Japan
- アメリカ、米国 → US
- オーストラリア、豪州 → Australia
- カナダ → Canada
- オランダ → Netherlands
- フランス → France
- ドイツ → Germany
- イタリア → Italy
- スウェーデン → Sweden
## 店舗サイズの対応
店舗サイズ(sizeカラム)は以下の5段階です:
- S: 小型店舗
- M: 中型店舗
- L: 大型店舗
- XL: 特大店舗
- XXL: 超大型店舗
## テーブル結合のヒント
- 店舗情報を含む売上分析: sales_transactions.franchiseID = sales_franchises.franchiseID
- 顧客情報を含む売上分析: sales_transactions.customerID = sales_customers.customerID
- サプライヤー情報を含む分析: sales_franchises.supplierID = sales_suppliers.supplierID
- レビューと店舗の紐付け: media_customer_reviews.franchiseID = sales_franchises.franchiseID
0-2: 設定の確認
設定を保存したら、以下の質問で動作を確認しましょう:
日本にある店舗数を教えてください
期待される結果: 20店舗
学習ポイント: Genieのインストラクションは、データとユーザーの間の「翻訳層」として機能します。データが英語で格納されていても、適切な設定により日本語での自然な問い合わせが可能になります。
シナリオ: 新任エリアマネージャーの業務分析
あなたは「Bakehouse」のアジア太平洋地域エリアマネージャーとして着任しました。2024年5月の売上データとレビューを分析し、経営会議での報告資料を作成する必要があります。
実習1: 基本的なデータ把握 (ウォームアップ)
まずはデータの全体像を把握しましょう。
問い合わせ 1-1: 単純な集計
全商品の売上総額を教えてください
問い合わせ 1-2: カウント
日本にある店舗は何店舗ありますか?
問い合わせ 1-3: 一覧取得
取り扱っている商品の一覧を見せてください
問い合わせ 1-4: 条件付き検索
東京にある店舗の情報を教えてください
実習2: 売上分析 (基礎)
問い合わせ 2-1: 商品別売上
商品別の売上金額を多い順に教えてください
問い合わせ 2-2: 国別売上
国別の売上金額と取引件数を比較したいです
問い合わせ 2-3: 支払方法分析
支払方法ごとの利用割合はどうなっていますか?
問い合わせ 2-4: 日別推移
日別の売上推移をグラフで見せてください
実習3: 店舗パフォーマンス分析 (中級)
問い合わせ 3-1: 店舗別売上ランキング
売上金額トップ10の店舗を店舗名と一緒に表示してください
問い合わせ 3-2: 店舗規模と売上の関係
店舗サイズ(S/M/L/XL/XXL)別の平均売上を比較したいです
問い合わせ 3-3: 地域特性の把握
日本の店舗で最も売れている商品は何ですか?
問い合わせ 3-4: 低パフォーマンス店舗の特定
売上が平均以下の店舗はどこですか?店舗名と売上金額を教えてください
実習4: 顧客分析 (中級)
問い合わせ 4-1: 顧客属性
顧客の男女比を教えてください
問い合わせ 4-2: 顧客単価
1回あたりの平均購入金額はいくらですか?
問い合わせ 4-3: リピーター分析
複数回購入している顧客は何人いますか?
問い合わせ 4-4: 優良顧客の特定
購入金額が最も多い顧客トップ5の名前と合計購入金額を教えてください
実習5: 複合分析 (上級)
問い合わせ 5-1: サプライヤーと売上の関係
サプライヤーごとに、そのサプライヤーと取引のある店舗の総売上を集計してください
問い合わせ 5-2: 時間帯別分析
時間帯別(午前/午後/夕方/夜)の売上傾向を教えてください
問い合わせ 5-3: クロス分析
店舗の国別・商品別の売上マトリクスを作成してください
問い合わせ 5-4: 曜日別パターン
曜日別の売上パターンに違いはありますか?
実習6: 自然言語での複雑な質問 (応用)
問い合わせ 6-1: ビジネス課題の特定
アジア太平洋地域(日本とオーストラリア)で、改善が必要な店舗を特定したいです。
売上が地域平均の80%未満の店舗をリストアップしてください。
問い合わせ 6-2: 商品戦略の検討
Tokyo Tidbitsは東京の店舗でどのくらい売れていますか?
他の地域と比較して特別な傾向はありますか?
問い合わせ 6-3: 経営指標の算出
店舗ごとの1日あたり平均売上と、全店舗平均との比較を見せてください
問い合わせ 6-4: アドホックな質問
XLサイズ以上の大型店舗で、Austin Almond Biscottiの売上が
全商品売上の20%以上を占めている店舗はありますか?
実習7: レビュー分析への橋渡し (発展)
問い合わせ 7-1: レビュー数の確認
店舗ごとのレビュー数を教えてください
問い合わせ 7-2: 売上とレビューの関係
レビュー数が多い店舗トップ5と、その店舗の売上金額を表示してください
問い合わせ 7-3: 特定店舗のレビュー
売上トップの店舗に寄せられたレビューの内容を見せてください
実習8: リサーチエージェントによる深掘り分析 (有償版のみ)
注意
この実習はDatabricks有償版でリサーチエージェント機能が有効な環境でのみ実施できます。執筆時点ではFree Editionではリサーチエージェントは利用できませんでした。
リサーチエージェントは、単一のSQLではなく複数のSQLを自律的に実行し、仮説検証や原因分析を行う高度な分析モードです。「なぜ?」「原因は?」といった探索的な質問に対して、エージェントが自ら分析計画を立てて実行します。
リサーチエージェントの有効化
チャット入力欄の左側にあるアイコンをクリックし、「リサーチエージェント」 を選択してください。
問い合わせ 8-1: 原因分析
日本の店舗の中で売上が低い店舗があります。
なぜ売上が低いのか、考えられる原因を分析してください。
リサーチエージェントは店舗サイズ、立地、商品構成、顧客属性など複数の観点から自律的に分析を進めます。
問い合わせ 8-2: 仮説検証
「店舗サイズが大きいほど売上が高い」という仮説は正しいですか?
データから検証してください。
問い合わせ 8-3: 相関分析
レビュー数と売上には関係がありますか?
レビューの内容(ポジティブ/ネガティブ)も売上に影響していそうか分析してください。
問い合わせ 8-4: 多角的な比較分析
日本とアメリカの店舗を比較して、ビジネス上の違いを分析してください。
売上、顧客単価、商品構成、店舗規模などの観点から考察してください。
問い合わせ 8-5: 経営レポートの作成
経営層に報告するので、これまでの分析を踏まえて以下を含むレポートを作成してください:
- 全体サマリー
- 地域別パフォーマンス
- 改善が必要な店舗と推奨アクション
- 今後の注力ポイント
学習ポイント: リサーチエージェントは会話の文脈を保持し、複数のテーブルを横断した分析を自動で行います。人間が「次に何を調べるべきか」を考える手間を省き、データドリブンな意思決定を加速します。
実習のポイント
通常チャットとリサーチエージェントの使い分け
| 質問タイプ | 推奨モード | 例 |
|---|---|---|
| 単純な集計・一覧 | 通常チャット | 「売上トップ10は?」 |
| 条件付き検索 | 通常チャット | 「東京の店舗一覧」 |
| 原因分析・なぜ? | リサーチエージェント | 「なぜ売上が低い?」 |
| 仮説検証 | リサーチエージェント | 「〜という仮説は正しい?」 |
| 複数観点の比較 | リサーチエージェント | 「AとBの違いを分析して」 |
| レポート作成 | リサーチエージェント | 「分析結果をまとめて」 |
Genieの特徴を活かす質問のコツ
- 曖昧な表現もOK: 「一番売れている」「最近の」など自然な言葉で質問
- 段階的に詳細化: 概要→詳細の順で質問を重ねる
- 比較を求める: 「〜と比較して」で相対的な分析が可能
- 可視化の依頼: 「グラフで」「チャートで」と明示すると可視化される
インストラクション設定のベストプラクティス
| 設定項目 | 目的 | 例 |
|---|---|---|
| 用語マッピング | データ値と自然言語の対応付け | 日本 → Japan |
| 結合ヒント | テーブル間のリレーション明示 | franchiseIDで結合 |
| ビジネスルール | 業務固有の計算ロジック | 「大型店舗」= XL以上 |
| 出力形式 | 回答の言語や形式の指定 | 日本語で回答 |
よくあるつまずきと対処法
| 問題 | 対処法 |
|---|---|
| 意図と異なる結果 | 質問を言い換えて再試行 |
| テーブル間の結合ミス | インストラクションに結合条件を追加 |
| 集計単位の誤解 | 「〜ごとに」「〜別に」を明確に |
| データ値の不一致 | インストラクションにマッピングを追加 |
発展課題
課題A: インストラクションの拡張
以下の要件に対応するインストラクションを追加してみましょう:
- 「売れ筋商品」と言われたら売上トップ3を返す
- 「最近」と言われたら直近7日間のデータを対象とする
- 「優良顧客」の定義を設定する(例: 購入回数5回以上)
課題B: 自然言語クエリの設計
以下の分析を行うための自然言語クエリを考えてみましょう:
- 週末(土日)と平日で売上傾向に違いはあるか?
- 新規顧客獲得に成功している店舗を特定するには?
- 商品ごとの平均購入数量に地域差はあるか?


