
DatabricksのAI/BI Dashboardを一通り試してみた
さがらです。
DatabricksにはBIダッシュボードを作成・共有できるAI/BI Dashboardという機能があります。SQL・テーブル・ビューからデータセットを定義し、豊富なチャートタイプでビジュアライゼーションを構築。フィルタ・クロスフィルタリングといったインタラクティブ機能も備えており、Databricksのワークスペース内でデータ分析からダッシュボード共有・定期配信まで一通り完結できます。
今回は、Databricksの標準搭載サンプルデータ samples.bakehouse(ベーカリーフランチャイズの架空ビジネスデータ)を使って、AI/BI Dashboardの主要機能を一通り試してみました。手順と確認結果をまとめます。
機能概要
AI/BI Dashboardは、Databricks上でビジュアライゼーションを作成し、チームとレポートを共有するためのダッシュボード機能です。主な特徴は以下の通りです。
- 豊富なビジュアライゼーション: Bar、Line、Area、Scatter、Heatmap、Box、Combo、Histogram、Waterfall、Table、Pivot Table、Map など多彩なチャートタイプ
- AI Forecast: 時系列データに対する予測機能
- フィルタ機能: グローバル・ページ・ウィジェットの3スコープ、クロスフィルタリング、ドリルスルーに対応
- パブリッシュ・共有: ドラフトと公開版を分離管理。ワークスペース・アカウント単位での共有に対応。PDF出力も可能
- スケジュール・サブスクリプション: 定期更新とメール/Slack/Microsoft Teamsへのスナップショット配信
ダッシュボードは Dataタブ でデータセットを定義し、Canvasタブ で複数ページにわたるレイアウトを構築する2画面構成になっています。
制限事項
- ダッシュボードで定義できるクエリは読み取り専用です。
DESCRIBE、CREATE TABLE、INSERT、DELETEなどのDDL/DMLは実行できません - スケジュール配信のサブスクライバーは最大100名まで
- スケジュール配信のスナップショットは最初のページのみが対象です。複数ページのダッシュボードを作成した場合、2ページ目以降はメール配信に含まれない点にご注意ください
コスト
- ダッシュボードのクエリはSQLウェアハウスで実行されるため、ウェアハウスのコンピュートが消費されます
- 共有データ権限(Credentials owned by dashboard owner)を使用する場合、クエリ結果がキャッシュ共有されるため、ウェアハウスの負荷を抑えられます
- 2026年4月13日時点、公式DocにAI/BI Dashboard固有のコスト計算式に関する記載はありませんでした
前提条件
- Databricks: Free Edition(AWS)
- こちらのブログでセットアップした環境を使用
- 使用データ:
samples.bakehouse(Databricks標準搭載のサンプルデータセット)- Free Editionのワークスペースで標準的に参照可能です
事前準備
samples.bakehouseのデータ確認
今回使用する samples.bakehouse は、ベーカリーフランチャイズの架空ビジネスデータです。以下のテーブルで構成されています。
| テーブル名 | 内容 |
|---|---|
sales_transactions |
売上トランザクション(商品・数量・金額・支払方法) |
sales_franchises |
フランチャイズ店舗マスタ(都市・国・規模・緯度・経度) |
sales_customers |
顧客マスタ(氏名・住所・国・大陸・性別) |
sales_suppliers |
仕入先マスタ(原材料・国・規模・承認フラグ) |
media_customer_reviews |
顧客レビューテキスト |
今回のダッシュボード検証では sales_transactions と sales_franchises を主に使用します。
サイドバーのCatalogを開き、samples → bakehouse を展開してテーブル一覧が表示されていることを確認しておきましょう。
sales_transactions をクリックしてSample Dataタブを開き、下図のように売上データのプレビューが表示されればOKです。

試してみた
1. ダッシュボードの新規作成
サイドバーからDashboardsを開き、右上のCreate dashboardボタンをクリックして新規ダッシュボードを作成します。

作成直後は空のキャンバスが表示されます。画面上部にDataタブとUntitled pageタブ(グラフを描画するCanvas機能)が並んでいます。まずはDataタブでデータセットを定義していきます。

2. データセットの定義
Dataタブを開き、ダッシュボードで使用するデータセットを定義します。今回は3つのデータセットを作成します。
新しいデータセットを追加する際は、+ Add SQL datasetを選択します。

データセット1: 商品別売上サマリー(product_sales_summary)
SQLエディタに以下のクエリを入力します。
SELECT
product,
SUM(totalPrice) AS total_sales,
SUM(quantity) AS total_qty,
COUNT(*) AS transaction_count
FROM samples.bakehouse.sales_transactions
GROUP BY product
ORDER BY total_sales DESC
クエリ名を product_sales_summary に変更して保存します。プレビュー欄に商品別の売上データが表示されればOKです。

データセット2: 月次・国別売上トレンド(monthly_country_sales)
SQLエディタに以下のクエリを入力します。
SELECT
DATE_TRUNC('month', t.dateTime) AS month,
f.country,
f.size AS franchise_size,
SUM(t.totalPrice) AS monthly_sales,
COUNT(*) AS transaction_count
FROM samples.bakehouse.sales_transactions t
JOIN samples.bakehouse.sales_franchises f
ON t.franchiseID = f.franchiseID
GROUP BY DATE_TRUNC('month', t.dateTime), f.country, f.size
ORDER BY month
クエリ名を monthly_country_sales に変更して保存します。月次・国別のデータが表示されればOKです。

データセット3: 支払方法・国別集計(payment_country_summary)
SQLエディタに以下のクエリを入力します。
SELECT
f.country,
t.paymentMethod,
COUNT(*) AS transaction_count,
SUM(t.totalPrice) AS total_sales
FROM samples.bakehouse.sales_transactions t
JOIN samples.bakehouse.sales_franchises f
ON t.franchiseID = f.franchiseID
GROUP BY f.country, t.paymentMethod
ORDER BY total_sales DESC
クエリ名を payment_country_summary に変更して保存します。これまで作成したものと併せて、Dataタブに3つのデータセットが並んでいればOKです。

おまけ:Add datasetを押すと直接テーブルやビューの指定が可能です
今回は事前にSQLで使用するデータを定義しましたが、Add datasetを押すと、直接テーブルやビューを指定して可視化に使用することが可能です。(Metric viewsも選択できるのは強いですね…!)


3. ビジュアライゼーションの追加
Untitled pageタブに切り替えてグラフを作成していきます。
グラフを作成する際は、画面下部のAdd a visualizationを押して、展開された枠内に対して右ペインから設定を行っていきます。


商品別売上合計の棒グラフ
画面下部のAdd a visualizationを押して、右ペインの設定で以下を指定します。
- Dataset:
product_sales_summary - Visualization:
Bar - X axis:
product - Y axis:
total_sales
チャートタイトルを 商品別売上合計 に変更します。商品ごとの棒グラフが表示されればOKです。

国別売上割合のドーナツグラフ(Pieチャート)
画面下部のAdd a visualizationを押して、右ペインの設定で以下を指定します。
- Dataset:
monthly_country_sales - Visualization:
Pie - Angle:
monthly_sales - Color:
country
チャートタイトルを 国別売上割合 に変更します。国別に色分けされたドーナツグラフが表示されればOKです。

支払方法×国のピボットテーブル
画面下部のAdd a visualizationを押して、右ペインの設定で以下を指定します。
- Dataset:
payment_country_summary - Visualization:
Pivot Table - Rows:
country - Columns:
paymentMethod - Values:
total_sales
チャートタイトルを 支払方法別・国別売上 に変更します。国×支払方法のクロス集計表が表示されればOKです。

KPIカード(Counterチャート)
売上合計をKPIカードとして表示します。画面下部のAdd a visualizationを押して、右ペインの設定で以下を指定します。
- Dataset:
product_sales_summary - Visualization:
Counter - Value:
total_sales(SUM)- Format:Abbreviation:
None
- Format:Abbreviation:
タイトルを 売上合計 に変更します。合計売上金額がカード形式で大きく表示されればOKです。

サイズ調整・名前変更
4つのウィジェットをキャンバス上でサイズ調整・配置します。また、ページとダッシュボードの名前もこのタイミングで変更しておきます。

4. フィルタの設定
フィルタを追加して、ダッシュボードをインタラクティブにします。
フィルタの追加
画面下部のAdd a filterをクリックし、新規フィルタを追加します。

右ペインでの設定は以下のようにします。
- Filter:
Single value - Fields: ※複数選択することで、複数のDatasetに対してフィルタの適用が可能です。
monthly_country_salesのcountrypayment_country_summaryのcountry

例として、countryをJapanにすると、monthly_country_salesとpayment_country_summaryのDatasetを用いたグラフに対してフィルタリングが適用されました。

クロスフィルタリングの確認
棒グラフ上の特定の商品バーをクリックします。その商品に絞り込まれた形で、他のビジュアライゼーションが自動的に更新されることを確認しましょう。クリックを外すとフィルタが解除されます。
クロスフィルタリングは追加設定不要で動作します。同じデータセットを使っているウィジェット間で自動的に連動します。

5. パブリッシュ・共有
ダッシュボードの編集が完了したら、パブリッシュして共有します。
画面右上のPublishボタンをクリックします。

パブリッシュ時に、データの閲覧権限を以下の2つから選択します。
| オプション | 概要 |
|---|---|
| Share data permission(default) | 閲覧者がオーナーの認証情報でクエリを実行。データへの個別アクセス権がなくても閲覧可能 |
| Individual data permission | 閲覧者が自身の認証情報でクエリを実行 |

Publishを実行すると、共有先のユーザーを選択する画面が続けて表示されます。必要に応じて閲覧者を追加します。

パブリッシュ後、画面上部のView publishedを押すことで、パブリッシュされたダッシュボードがどのように見えるかを確認可能です。


6. スケジュールの設定 ※画面のみ紹介
定期的にダッシュボードを更新してメール等に配信するスケジュールを設定します。
パブリッシュ済みのダッシュボードで、画面右上のScheduleをクリックすると、下図のようにこのダッシュボードのPDFを定期的にメールやSlackなどで配信できる設定が可能です。

こちらの機能の詳細は、以下の公式Docも併せてご覧ください。
最後に
DatabricksのAI/BI Dashboardを使い、samples.bakehouse データでダッシュボードを一通り作成・公開してみました。
データセット定義(SQL)→ ビジュアライゼーション(フィルタ設定含) → パブリッシュ → スケジュール配信 という一連のフローが、Databricksのワークスペース内で完結できる点は使い勝手が良いと感じました。
Free Editionでも十分試せるので、Databricksを触り始めた方はぜひAI/BI Dashboardも試してみてください。











