DigitalBase Docs

ダッシュボード

社内データベースへの接続、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 エディタ、下に 結果(表 / グラフ)が表示される。

各一覧の + で追加する。行にポインタを合わせると編集・削除できる。

データベースに接続する

エクスプローラの「接続」の + から登録する。編集できるのは作成者だけ。タグで共有された人は利用できる。

対応データソース

種別既定ポート
PostgreSQL5432
MySQL3306
MariaDB3306
SQL Server1433
Oracle1521
Amazon Redshift5439
SQLite(データベース欄にファイルパスを入れる。管理者が有効にした時だけ使える)
補足

BigQuery / Snowflake / ClickHouse / Databricks SQL は API 接続(外部接続 > API)として登録する。エクスプローラに並び、そのまま SQL を実行できる。できる操作は、接続に登録した DWH 側のユーザーの権限で決まる。保存クエリ・ダッシュボードからの実行は読み取りのみ。

接続情報

項目既定必須説明
名前—✔接続の表示名
種別postgresql—上の表のデータソース
ホストlocalhost—DB のホスト
ポート5432—種別に応じた既定値
データベース—✔DB 名(SQLite はファイルパス)
ユーザー—✔DB のユーザー
パスワード——暗号化して保存する。編集時は *** と表示される(そのまま保存すると維持、空にすると削除)
スキーマpublic—既定のスキーマ

登録したら「接続テスト」で疎通を確かめる。

ファイルのデータを SQL で使う

  • ファイル 1 つを見る時は、ドキュメントで開く。
  • 複数のファイルを集計する時は、フロー構築で ファイル取得 → SQL で変換 → データセットに保存 とつなぎ、データセットを参照する。

テーブルの選択と削除

選んだテーブルを削除する。元に戻せない。

  1. ⌘ / Ctrl クリックで追加選択する。Shift クリックで範囲選択する。 → 2 件以上選ぶと「削除」の帯が表示される。
  2. 「削除」を選ぶ。Delete キーも使える。

データセットは本体と BI 公開用の VIEW を削除する。外部の接続は DROP TABLE で削除する。

AI で SQL を作る(AIで編集)

自然言語の指示から AI が SQL を作る。実行は自分で Run を選んだ時だけ。

  1. 対象のテーブルを開く。
  2. エディタの AIで編集 を選ぶ。 → AI のパネルが開く。
  3. モデルを選ぶ。
  4. 指示を入力する。
  5. 送信 を選ぶ。 → 作られた SQL がエディタに入る(まだ実行されない)。
  6. SQL を確かめる。
  7. Run を選ぶ。 → 結果が表・グラフで表示される。

続けて指示すると、前のやり取りを踏まえて直す。履歴クリア で最初からやり直せる。

補足

エディタの内容は Run(⌘ / Ctrl + Enter)で実行する。表のデータは、その場で編集して保存(INSERT / UPDATE / DELETE)することもできる。

エディタの補助

  • 長いクエリ — 実行中は Run が「キャンセル」に変わる。時間の上限は管理者が設定する(既定 10 分)。
  • 入力補完 — テーブル名と列名を補完する。
  • 実行履歴 — 見出しの時計ボタンで開く(本人の履歴だけ)。
  • 実行計画(EXPLAIN) — ⋯ メニューから開く(SELECT / WITH のみ)。
  • 書き出し — 結果の表から CSV / Excel で書き出す。

クエリを保存する

エディタの SQL に名前を付けて 保存クエリ にする。ダッシュボードのカードから参照でき、直すとカードにも反映される。

  1. SQL を書く。
  2. SQL を実行する。
  3. エディタの見出しの 「保存」 を選ぶ。
  4. 名前・説明・共有先を入れる。 → 左の「クエリ」に並ぶ。

未保存の変更があると見出しに「•」が付く。

以後は 「保存」 で上書きする。⋯ メニューに「名前を付けて保存」「名前・説明・共有を変更」がある。

項目説明
名前 / 説明左のツリーとカードの追加画面に表示される
接続保存した時に開いていた接続
共有「自分のみ」または「タグ共有」。共有先は実行できる。変更・削除は作成者だけ
補足

保存クエリやダッシュボードのカードとしての実行は 読み取り専用(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 は読み取りのみ)。
  • フロー構築の「ノートブックを実行」で定期的に実行できる。

ダッシュボードを作る

  1. クエリを実行する。
  2. 「ダッシュボードに追加」 を選ぶ(既存に追加 / 新規作成)。
  3. エクスプローラの「ダッシュボード」から開く。
  4. ドラッグとリサイズで配置する(12 カラムのグリッド)。
  5. 「再読込」 で全チャートを実行し直す。

各チャートは保存クエリを参照するか、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-)。

発行する

  1. SQL 画面の 「データセット管理」 を開く。
  2. BI 接続の情報を発行する。 → bk-... のトークンが表示される。
  3. 公開するデータセットにチェックを入れる(参照)。
  4. 必要なら 追加 / 更新 / 削除 も付ける。

失効日や有効 / 無効も設定できる。

発行BI ツール(PG 接続)REST
参照SELECTGET /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

関連