Databricks SQLのダッシュボード

[Databricks SQL dashboards \| Databricks on AWS](https://docs.databricks.com/sql/user/dashboards/index.html) [2022/3/10時点]の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

Databricks SQLのダッシュボードを用いることで、[ビジュアライゼーション](https://docs.databricks.com/sql/user/visualizations/index.html)とデータのコンテキストを与えるテキストボックスを組み合わせることができます。

# 保存されたダッシュボードの一覧

保存されているダッシュボードの一覧を参照するには、サイドバーの![](https://docs.databricks.com/_images/dashboards-icon.png)**Dashboards**をクリックします。デフォルトでは、ダッシュボードは**Created By**カラムにを用いて新しい順でソートされています。カラムのヘッダーをクリックすることでリストを並び替えることができます。

## 保存されたダッシュボードのフィルタリング

自分で作成したダッシュボード(**My Dashboards**)、[お気に入り](https://docs.databricks.com/sql/user/favorites-tags.html#favorites)、[タグ](https://docs.databricks.com/sql/user/favorites-tags.html#tags)でダッシュボード一覧をフィルタリングすることができます。

# ダッシュボードの作成

新規ダッシュボードを作成するには以下のステップを実行します。既存のダッシュボードをクローンするには、[ダッシュボードのクローン](#ダッシュボードのクローン)をご覧ください。

1. 以下のいずれかを実行します。
    - サイドバーの![](https://docs.databricks.com/_images/create-icon.png)**Create**をクリックして**Dashboard**を選択します。
    - ![](https://docs.databricks.com/_images/dashboards-icon.png)**Dashboards**をクリックして、**+ New Dashboard**ボタンをクリックします。
    - 空のダッシュボードからスタートしたくないのであれば、クイックダッシュボードを作成することができます。
        - サイドバーの[Databricks SQL dashboards \| Databricks on AWS](https://docs.databricks.com/_images/data-icon.png)**Data**をクリックします。
        - テーブルをブラウズし、**Create > Quick Dashboard**をクリックします。
        - 設定ページでは興味のあるカラムを選択し、これらのカラムを用いていくつかの基本的な情報を提供するクエリーとダッシュボードを作成し、ダッシュボードレベルのパラメーターや他の機能を表示します。
        - ダッシュボードをカスタマイズするには以下の手順を続けます。
1. ダッシュボード名を入力します。
1. ダッシュボードのコンテンツを追加します。
    - コメントを追加するには**Add Textbox**をクリックします。
        テキストを入力します。マークダウンを用いてテキストを修飾することができます。ダッシュボードのテキストボックスに静的な画像を追加するには、マークダウンイメージの構文`![alt-text](<image-url>)`を使用します。
    - クエリーのビジュアライゼーションを追加するには、**Add Widget**をクリックします。
        1. クエリーを選択します。既存のクエリーを検索するか、一覧から最近使用したものを選択します。
        1. **Choose Visualization**ドロップダウンからビジュアライゼーションのタイプを選択します。
![](https://docs.databricks.com/_images/add-chart-widget.png)
1. **Add to Dashboard**をクリックします。
![](https://docs.databricks.com/_images/add-widget-to-dashboard.png)
1. ダッシュボードのコンテンツブロックをドラッグ&ドロップします。
1. **Done Editing**をクリックします。
![](https://docs.databricks.com/_images/dashboard.png)

# ダッシュボードのクローン

ダッシュボードとそれに含まれるクエリーに対して、**Can Run**、**Can Edit**、**Can Manage**権限を持っているのであれば、ダッシュボードとクエリーをクローンすることができます。あなたが、クローンした新規ダッシュボードとクエリーのオーナーになります。

:::note warn
**重要！**
共有設定、アラート、サブスクリプションは新規ダッシュボードにはコピーされません。
:::

ダッシュボードをクローンするには以下を実行します。

1. ダッシュボードの右上の![](https://docs.databricks.com/_images/vertical-ellipsis.png)をクリックし、**Clone**を選択します。
1. 新規ダッシュボードの名前を入力し、**Confirm**をクリックします。

# ダッシュボードからコンテンツを削除

1. ウィジェットの右上の![](https://docs.databricks.com/_images/vertical-ellipsis.png)をクリックし、**Remove from Dashboard**を選択します。
1. **Delete**をクリックします。

# ダッシュボードの編集

ダッシュボードを編集するには、ダッシュボードの右上の![](https://docs.databricks.com/_images/vertical-ellipsis.png)をクリックし、**Edit**を選択します。
![](https://docs.databricks.com/_images/edit-dashboard.png)

編集中はコンテンツを追加削除したり、フィルタリングを適用することができます。表示するパラメーターの並びを変更するには、希望の位置にそれぞれのパラメーターをドラッグ&ドロップします。

## ダッシュボードにコンテンツを追加

1. ダッシュボードを[編集モード](#ダッシュボードの編集)で開きます。
1. **Add Textbox**か**Add Widget**をクリックします。
1. **Add to Dashboard**をクリックします。
1. **Done Editing**をクリックします。

SQLエディタで[ビジュアライゼーションをダッシュボードに追加](https://docs.databricks.com/sql/user/visualizations/visualizations.html#add-a-visualization-to-a-dashboard)することもできます。

## ダッシュボードからコンテンツを削除

1. ![](https://docs.databricks.com/_images/delete-icon1.png)をクリックするか、オブジェクトの上にマウスカーソルを移動し、ウィジェットの右上の![](https://docs.databricks.com/_images/vertical-ellipsis.png)をクリックし、**Remove from Dashboard**を選択します。
1. **Delete**をクリックします。

## ダッシュボードのフィルター

クエリーにフィルターを含み、ダッシュボードレベルでフィルターを適用する必要がある場合があります。全てのクエリーにフィルターを適用するには**Use Dashboard Level Filters**を選択します。

## ダッシュボードの色のカスタマイズ

ダッシュボードのカラーパレットをカスタマイズすることができます。

### カラーパレットの作成

ダッシュボードのカスタムカラーパレットを作成するには以下を実行します。

1. 右上の![](https://docs.databricks.com/_images/vertical-ellipsis.png)をクリックし、**Edit**をクリックします。
1. **Colors**をクリックします。
1. 既存のカラーパレットをインポートするには、**Import**をクリックしパレットを選択します。インポートしたパレットをカスタマイズできます。
1. 新規のパレットを作成するか、インポートしたパレットをカスタマイズするには以下を実行します。
    1. 新規の色を追加するには、**Add**をクリックします。
    1. 新規追加した色あるいは既存の色に対しては、以下のいずれかを実行して色を指定します。
        - 四角をクリックし、カラーセレクターから色を選択するか、スポイトを使用して色を選択します。
        - 四角の隣のテキストフィールドをクリックして16進数を入力します。
1. **Apply**をクリックします。

### カスタムカラーパレットの使用をやめる

カスタムカラーパレットを削除するには以下を実行します。

1. 右上の![](https://docs.databricks.com/_images/vertical-ellipsis.png)をクリックし、**Edit**をクリックします。
1. **Colors**をクリックします。
1. **Clear**をクリックします。
1. **Apply**をクリックします。

### ビジュアライゼーションの色のカスタマイズ

ビジュアライゼーションの色をカスタマイズするには、[Customize colors for a visualization](https://docs.databricks.com/sql/user/visualizations/visualizations.html#customize-colors-for-a-visualization)をご覧ください。

デフォルトでは、カラーパレットはダッシュボードに適用され、ビジュアライゼーションはビジュアライゼーションに指定した色ではなく、ダッシュボードのカラーパレットを使用します。この挙動を上書きするには以下を実行します。

1. ダッシュボード上のビジュアライゼーションの![](https://docs.databricks.com/_images/vertical-ellipsis.png)をクリックし、**Edit**をクリックします。
1. ビジュアライゼーションの`Retain colors specified`のチェックボックスを選択します。
1. **OK**をクリックします。

詳細は[Customize colors for a visualization](https://docs.databricks.com/sql/user/visualizations/visualizations.html#customize-colors-for-a-visualization)をご覧ください。

# ダッシュボードの更新

ダッシュボードは、クエリーが実行される度に更新されるキャッシュからデータを取得するので高速にロードされます。しかし、クエリーを最近実行していない場合、ダッシュボードが古い結果を表示する場合があります。幾つかのクエリーのみが最近実行された場合には、ダッシュボードに新しいデータと古いデータが混在することもあり得ます。

手動でダッシュボードを更新するか、スケジュール実行で更新されると、ダッシュボードで使われている前段のクエリーは、パラメーターを含み全てが更新されます。個々のビジュアライゼーションが更新されると、パラメーターを含む前段のクエリー全てが更新されます。

## 手動によるダッシュボードの更新

更新を強制するには、ダッシュボード右上の**Refresh**ボタンをクリックします。これは、ダッシュボードの全てのクエリーを実行し、ビジュアライゼーションを更新します。

## ダッシュボードの自動更新

ダッシュボードのオーナーと**Can Edit**権限を持つユーザーが、スケジュールに基づき自動でダッシュボードが更新されるように設定することができます。自動でダッシュボードが更新されるようにするには以下を実行します。

1. ダッシュボード右上の**Schedule**ボタンをクリックします。スケジュールのダイアログ画面が表示されます。
![](https://docs.databricks.com/_images/dashboard-schedule-aws.png)
1. **Refresh every**ドロップダウンで期間を選択します。
1. **SQL Endpoint**ドロップダウンで、全てのクエリーで使用するSQLエンドポイントを選択します。これはオプションです。エンドポイントを選択しない場合、最後に使用されたSQLエンドポイントを用いてクエリーを実行します。
1. **Subscribers**の隣には、ダッシュボードが自動で更新された際に通知を行いたいメールアドレスのリストを入力します。これはオプションです。
    入力するアドレスはDatabricksのアカウントと関連づけられるか、[アラートの宛先](https://docs.databricks.com/sql/admin/alert-destinations.html#create-an-alert-destination)として設定されている必要があります。
1. **Save**をクリックします。**Schedule**ボタンのラベルが**Scheduled**に変化します。

## ダッシュボードスナップショットのサブスクリプション

ダッシュボードのスナップショットを定期的にエクスポートし、メールで送信することができます。ダッシュボードのスナップショットは、フィルターやビジュアライゼーションが操作されていないデフォルトのダッシュボードの状態から取得されます。

ダッシュボードのオーナー、あるいは**Can Edit**権限を持っているのであれば、更新処理のスケジュールの作成や、更新の都度ダッシュボードのスナップショットをメールで受け取る購読者の追加を行うことができます。

:::note info
**注意**
**Can Edit**権限を持っている場合、ダッシュボードにアクセスできるユーザー、あるいはすでにアラートの宛先として登録されているユーザーのみを購読者として登録することができます。**Can Manage**権限を持っているのであれば、ワークスペースにアクセスできる任意のユーザーを購読者として登録することができます。
:::

購読者を追加するには、**Subscribers**フィールドに1つ以上のダッシュボードユーザー、アラート宛先のメールアドレスを入力します。

ダッシュボードに対して**Can View**か**Can Edit**権限を持っているのであれば、既存の更新スケジュールをサブスクライブすることができます。サブスクライブするには、**Subscribe**ボタンをクリックします。
![](https://docs.databricks.com/_images/dashboard-subscribe.png)

## 一時的にダッシュボードのスケジュール更新を停止

ダッシュボードに自動更新の設定がされている場合、右上には**Schedule**ボタンではなく**Scheduled**ボタンが表示されます。ダッシュボードの更新と購読者へのエクスポートを一時的に停止することができます。これによって、ダッシュボードの変更をテストしている間に更新を送信してしまうことを回避できます。購読者のリストを変更することなしに、定期更新の処理を一時的に停止するには以下を実施します。

1. **Scheduled**をクリックします。
1. **Enabled**トグルをクリックします。
1. **Save**をクリックします。

## ダッシュボードの自動更新を停止

ダッシュボードに自動更新の設定がされている場合、右上には**Schedule**ボタンではなく**Scheduled**ボタンが表示されます。自動更新を停止し、購読者を削除するには以下を実行します。

1. **Scheduled**をクリックします。
1. **Refresh every**ドロップダウンで**Never**を選択します。
1. **Save**をクリックします。**Scheduled**ボタンのラベルが**Schedule**に変化します。

# PDFとしてダウンロード

ダッシュボードをPDFファイルとしてダウンロードするには、ダッシュボード右上の![](https://docs.databricks.com/_images/vertical-ellipsis.png)をクリックし**Download as PDF**を選択します。

# ダッシュボードをゴミ箱に移動する

ダッシュボードをゴミ箱に移動するには、ダッシュボード右上の![](https://docs.databricks.com/_images/vertical-ellipsis.png)をクリックし**Move to Trash**をクリックします。確認メッセージに対して**Move to Trash**をクリックします。

# ゴミ箱からダッシュボードを復帰させる

1. サイドバーの![](https://docs.databricks.com/_images/dashboards-icon.png)**Dashboards**をクリックします。
1. ![](https://docs.databricks.com/_images/trash-button.png)をクリックします。
1. ダッシュボードをクリックします。
1. ダッシュボード右上の![](https://docs.databricks.com/_images/vertical-ellipsis.png)をクリックし**Restore**を選択します。

# 恒久的にダッシュボードを削除する

1. 全ダッシュボード一覧で![](https://docs.databricks.com/_images/trash-button.png)をクリックします。
1. ダッシュボードをクリックします。
1. ダッシュボード右上の![](https://docs.databricks.com/_images/vertical-ellipsis.png)をクリックし**Delete**を選択します。

# クエリーを開く

ウィジェットで表示されているクエリーをSQLエディタで開くには、ウィジェットの右上の![](https://docs.databricks.com/_images/vertical-ellipsis.png)をクリックし、**View Query**を選択します。

# ダッシュボードのアクセス権を設定する

誰がダッシュボードを管理、実行できるのかを設定するには、[Databricks SQLダッシュボードのアクセスコントロール](https://qiita.com/taka_yayoi/items/d6e8d1db0d8b59943dee)をご覧ください。

# 管理者ビューへのアクセス

Databricksの管理者ユーザーは全てのダッシュボードに対する参照権限を持っています。このビューでは、管理者はいかなるダッシュボードも参照、削除することができます。しかし、管理者に共有されていないダッシュボードを編集することはできません。

全てのダッシュボードを参照するには以下を実行します。

1. サイドバーの![](https://docs.databricks.com/_images/dashboards-icon.png)**Dashboards**をクリックします。
1. 右側のパネルの**Admin View**をクリックします。

# ダッシュボードのオーナーシップの移譲

ダッシュボードのオーナーがワークスペースから削除されると、ダッシュボードのオーナーが存在しなくなり、管理者ユーザーのみがダッシュボードのアクセス権を管理することができるようになります。管理者ユーザーは、オーナーのないダッシュボードを含む任意のダッシュボードのオーナーシップを別のユーザーに移譲することができます。Databricks SQLのUIを用いてオーナーシップを移譲するには以下を実施します。

1. ダッシュボードを開きます。
1. **Share**をクリックします。
1. **Assign new owner**をクリックします。
1. ドロップダウンからオーナーにしたいユーザーを選択し、**Confirm**をクリックします。

REST APIを用いてオーナーシップを移譲するには、[Transfer ownership of a dashboard](https://docs.databricks.com/sql/admin/transfer-ownership.html#transfer-dashboard-owner)をご覧ください。

以前はダッシュボードのオーナーだったユーザーは、ダッシュボードに対する**Can Manage**権限を失い、**Can Manage**権限を与えたユーザーが新たなオーナーになります。

### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)