ダッシュボード
社内データベースへの接続、AI による SQL の作成、SQL の実行、ダッシュボードの作成、外部 BI との連携(BI キー)を扱う画面。
データセットとは
DigitalBase に内蔵されたデータの保管庫。フロー構築で取り込んだデータをデータセットとして蓄積する。外部の DB なしで分析・可視化できる。
- 蓄積 — フロー構築の データセットに保存 などで書き込む。チャットの回答の表も、表の下の 「データセット」 ボタンで保存できる。
- 参照 — SQL 画面の内蔵の データセット接続 からクエリする。
- AI から利用 — チャットの Tool設定 で「データセット」を選ぶと、AI が読み取り専用の SQL で参照する。
- 外部 BI へ公開 — BI キー(
bk-)で読み取れる(後述)。
保存形式: PostgreSQL と Parquet
データセットは 2 つの保存形式のどちらかで保存する。一覧・権限・SQL 画面は同じ。
| 保存形式 | 向く用途 | 実行 |
|---|---|---|
| PostgreSQL(既定) | 小さい表、キーで引く表、頻繁に更新する表、表の編集 | PostgreSQL |
| Parquet | 大きい表(数億行〜)、集計・結合が重い表 | 列ごとに圧縮したファイルを DuckDB で読む。読み取りのみ |
- 保存形式は、フロー構築の データセットに保存 の「保存形式」で選ぶ。
- Parquet の表に触れる SQL は自動で DuckDB で実行される。PostgreSQL のデータセットと 1 つの SQL で結合できる。
- 構文は DuckDB(PostgreSQL とほぼ同じ)。SQL 画面の AI とチャットのデータセット参照も同じ。
- DuckDB の SQL で使えるのは、一覧に出ている表名だけ。スキーマ修飾(
main.xなど)、ファイルの直接読み取り(read_parquetなど)、目録を見る関数は使えない。 - 1 本の SQL に使えるメモリや時間の上限は、管理者が設定する。上限を超える集計はディスクに退避して続く。
データセットの情報と共有
データセット接続でテーブルを開くと、結果の上に 「情報」 が表示される。
| 項目 | 説明 |
|---|---|
| 説明 / タグ | メモと検索用のラベル |
| 共有 | 自分のみ、またはタグ共有。共有先は読み取りのみ。変更できるのは作成者だけ |
| 系譜 | 作成経路 → データセット → 保存クエリ → ダッシュボード の図 |
| 権限 | 作成者・共有先・管理者・外部 BI それぞれができる操作 |
| 共有先に見せる範囲 | タグ共有の時だけ。行の条件(例 region = ANY({{user.tags}})、{{user.email}} も使える)と 見せない列 を指定する |
| 列 / 先頭の行 | 列名と型、先頭 5 行 |
範囲を付けると、共有先には範囲付きの表(名前の末尾が _shared)だけが見える。作成者には常に全件が見える。
画面の構成
左が エクスプローラ(接続 / クエリ / ダッシュボード / ノートブック)、右が開いている対象。
テーブルやクエリを開くと、上に SQL エディタ、下に 結果(表 / グラフ)が表示される。
各一覧の + で追加する。行にポインタを合わせると編集・削除できる。
データベースに接続する
エクスプローラの「接続」の + から登録する。編集できるのは作成者だけ。タグで共有された人は利用できる。
対応データソース
| 種別 | 既定ポート |
|---|---|
| PostgreSQL | 5432 |
| MySQL | 3306 |
| MariaDB | 3306 |
| SQL Server | 1433 |
| Oracle | 1521 |
| Amazon Redshift | 5439 |
| SQLite | (データベース欄にファイルパスを入れる。管理者が有効にした時だけ使える) |
BigQuery / Snowflake / ClickHouse / Databricks SQL は API 接続(外部接続 > API)として登録する。エクスプローラに並び、そのまま SQL を実行できる。できる操作は、接続に登録した DWH 側のユーザーの権限で決まる。保存クエリ・ダッシュボードからの実行は読み取りのみ。
接続情報
| 項目 | 既定 | 必須 | 説明 |
|---|---|---|---|
| 名前 | — | ✔ | 接続の表示名 |
| 種別 | postgresql | — | 上の表のデータソース |
| ホスト | localhost | — | DB のホスト |
| ポート | 5432 | — | 種別に応じた既定値 |
| データベース | — | ✔ | DB 名(SQLite はファイルパス) |
| ユーザー | — | ✔ | DB のユーザー |
| パスワード | — | — | 暗号化して保存する。編集時は *** と表示される(そのまま保存すると維持、空にすると削除) |
| スキーマ | public | — | 既定のスキーマ |
登録したら「接続テスト」で疎通を確かめる。
ファイルのデータを SQL で使う
テーブルの選択と削除
選んだテーブルを削除する。元に戻せない。
- ⌘ / Ctrl クリックで追加選択する。Shift クリックで範囲選択する。 → 2 件以上選ぶと「削除」の帯が表示される。
- 「削除」を選ぶ。Delete キーも使える。
データセットは本体と BI 公開用の VIEW を削除する。外部の接続は DROP TABLE で削除する。
AI で SQL を作る(AIで編集)
自然言語の指示から AI が SQL を作る。実行は自分で Run を選んだ時だけ。
- 対象のテーブルを開く。
- エディタの AIで編集 を選ぶ。 → AI のパネルが開く。
- モデルを選ぶ。
- 指示を入力する。
- 送信 を選ぶ。 → 作られた SQL がエディタに入る(まだ実行されない)。
- SQL を確かめる。
- Run を選ぶ。 → 結果が表・グラフで表示される。
続けて指示すると、前のやり取りを踏まえて直す。履歴クリア で最初からやり直せる。
エディタの内容は Run(⌘ / Ctrl + Enter)で実行する。表のデータは、その場で編集して保存(INSERT / UPDATE / DELETE)することもできる。
エディタの補助
- 長いクエリ — 実行中は Run が「キャンセル」に変わる。時間の上限は管理者が設定する(既定 10 分)。
- 入力補完 — テーブル名と列名を補完する。
- 実行履歴 — 見出しの時計ボタンで開く(本人の履歴だけ)。
- 実行計画(EXPLAIN) — ⋯ メニューから開く(
SELECT/WITHのみ)。 - 書き出し — 結果の表から CSV / Excel で書き出す。
クエリを保存する
エディタの SQL に名前を付けて 保存クエリ にする。ダッシュボードのカードから参照でき、直すとカードにも反映される。
- SQL を書く。
- SQL を実行する。
- エディタの見出しの 「保存」 を選ぶ。
- 名前・説明・共有先を入れる。 → 左の「クエリ」に並ぶ。
未保存の変更があると見出しに「•」が付く。
以後は 「保存」 で上書きする。⋯ メニューに「名前を付けて保存」「名前・説明・共有を変更」がある。
| 項目 | 説明 |
|---|---|
| 名前 / 説明 | 左のツリーとカードの追加画面に表示される |
| 接続 | 保存した時に開いていた接続 |
| 共有 | 「自分のみ」または「タグ共有」。共有先は実行できる。変更・削除は作成者だけ |
保存クエリやダッシュボードのカードとしての実行は 読み取り専用(SELECT / WITH のみ)。実行は開いた人の接続の権限で行われる。
パラメータ
SQL の中の {{名前}} が、エディタの下の入力欄になる。値はそのまま DB に値として渡される(引用符は要らない)。
SELECT region, SUM(amount) AS total
FROM sales
WHERE sold_on >= {{from}}
[[AND region = {{region}}]]
GROUP BY region
[[ ... ]]の中は、パラメータが空なら丸ごと除かれる。- 入力欄の横の歯車で、型(テキスト / 数値 / 日付 / 選択肢)・既定値・必須を設定する。
ノートブック
SQL・Python・Markdown の セル を上から実行する画面。エクスプローラの「ノートブック」の + で作る。
- SQL セル — セルごとに接続を選ぶ。結果は表とグラフで表示される。
- Python セル — 前の SQL セルの結果を セル名(
q1など)の DataFrame として使える。resultに入れた表がセルの結果になる。pandas / numpy / scipy / scikit-learn を使える。 - Markdown セル — 見出しや説明を書く。
- 自動で保存される。タグで共有すると、共有先は実行できる(SQL は読み取りのみ)。
- フロー構築の「ノートブックを実行」で定期的に実行できる。
ダッシュボードを作る
- クエリを実行する。
- 「ダッシュボードに追加」 を選ぶ(既存に追加 / 新規作成)。
- エクスプローラの「ダッシュボード」から開く。
- ドラッグとリサイズで配置する(12 カラムのグリッド)。
- 「再読込」 で全チャートを実行し直す。
各チャートは保存クエリを参照するか、SQL を直接持つ。表示するたびに実行される。
フィルタとテキストカード
- フィルタ — 「フィルタ」で名前(例
region)を付けて追加すると、全カードの SQL の{{region}}に値が入る。値は URL(?f.region=east)に載るので、そのまま共有できる。 - テキストカード — カードの追加で「元にするクエリ」に「テキスト」を選ぶと、Markdown で見出しやメモを置ける。
共有は、ダッシュボード名の横の編集ボタンで設定する(自分のみ / タグ共有)。共有先は閲覧のみ。各カードは見る人の接続の権限で実行される。
チャート設定
| 項目 | 選択肢 / 既定 | 説明 |
|---|---|---|
| 種別 | 棒 / 折れ線 / 円 / ピボット / 散布 / パレート / ヒストグラム / 数値 (KPI) / 状態の推移(既定 棒) | 数値は KPI 表示(基準線で達成率)。状態の推移は、時刻と状態の列から設備ごとの状態を帯で表示する |
| X 軸 / Y 軸 | 列を選ぶ | 棒 / 折れ線は複数の系列を表示できる |
| 折れ線を重ねる | 棒に系列を追加 | 複合グラフ(右軸も使える) |
| 集約 | 合計 / 平均 / 件数 / 最小 / 最大 | X が重複する時の集約 |
| 表示数 | 既定 50 | 表示する最大のデータ点数 |
| 積み上げ / 面塗り | オン / オフ | 棒の積み上げ、折れ線の面塗り |
| 値表示 | オン / オフ | 値のラベルを表示する |
| 基準線 / しきい値線(上限・下限) | 数値 | 目標値や規格限界の線 |
| 配色 | 標準 (色覚安全) / 淡色 (ソフト) / モノクロ (印刷向け) / ブランドカラー | パレット |
| 系列色 | 色を個別に指定 | 系列ごとに色を上書きする |
チャートは PNG で保存できる。SQL はコピーや .sql でのダウンロードができる。
データの更新
データそのものは、フロー構築のスケジュール実行で更新する。
ダッシュボードは開いた時と 再読込 を選んだ時に、全カードの SQL を実行し直す。自動では再読込しないので、最新の値を見たい時は 再読込 を選ぶ。
BI キーで外部 BI に接続する
データセットを Looker Studio / Metabase / Tableau / Excel などから読むための専用のキー(bk-)。
発行する
- SQL 画面の 「データセット管理」 を開く。
- BI 接続の情報を発行する。
→
bk-...のトークンが表示される。 - 公開するデータセットにチェックを入れる(参照)。
- 必要なら 追加 / 更新 / 削除 も付ける。
失効日や有効 / 無効も設定できる。
| 発行 | BI ツール(PG 接続) | REST |
|---|---|---|
| 参照 | SELECT | GET /v1/data/datasets、POST /v1/data/query |
| 追加 | INSERT INTO "データセット名" ... | POST /v1/data/datasets/{名前}/rows({"rows": [...]}) |
| 更新 | UPDATE "データセット名" SET ... WHERE ... | PATCH /v1/data/datasets/{名前}/rows({"where": "...", "set": {...}}) |
| 削除 | DELETE FROM "データセット名" WHERE ... | POST /v1/data/datasets/{名前}/rows/delete({"where": "..."}) |
DDL はどの発行でもできない。書き込みは監査ログに記録される。
BI キーで公開できるのは、自分が作ったデータセットだけ。タグ共有で受け取ったデータセットは載せられない(外部に出す時は作成者のキーで公開する)。Parquet のデータセットは REST での読み取りだけに対応する。PostgreSQL としての直結(下の B)には出ない。
接続する(2 通り)
A. REST で取得する
データセット一覧を取得する。
curl -H "Authorization: Bearer bk-..." http://<ホスト>:8000/v1/data/datasets
データを取得する(読み取り専用)。
curl -H "Authorization: Bearer bk-..." \
-H "Content-Type: application/json" \
-X POST http://<ホスト>:8000/v1/data/query \
-d '{"dataset":"<名前>","limit":1000}'
B. PostgreSQL として直結する(Metabase / Tableau / Excel など)
既定では無効。管理者が .env に BIKEY_PG_PROXY_ENABLED=1 を設定して再起動すると、ポート 5434 で待ち受ける(環境変数)。
| 項目 | 値 |
|---|---|
| ホスト | 画面に表示されるホスト名 |
| ポート | 5434 |
| データベース | digitalbase |
| ユーザー | bikey(任意) |
| パスワード | bk-...(発行したトークン) |
接続文字列の例: postgresql://bikey:bk-...@<ホスト>:5434/digitalbase